組み込みっぽい案件とは
ここでの「組み込み」とは「単一の機能を実現する」の意味合いです。
- 単一の機能を実行する
- PCに電源を入れたときに起動し機能し続ける
「何故,DOSなのか」などはout of controlなので聞かないでください。
Intel NUC Celeron搭載 小型PC BOXNUC6CAYSAJR【Win10/ 2GB DDR3L/ 32GB eMMC プレインストール】
- 出版社/メーカー: インテル
- 発売日: 2017/03/08
- メディア: Personal Computers
- この商品を含むブログを見る
Windows Embedded とかIoTとかあるらしいですがよくわからんし時間的な問題でいろいろと諦めました。各所との連携とか難しいですね。 Windows 10 IoT Enterprise/Windows Embedded OSのサポートと供給期間|Microsoft|製品情報|東京エレクトロンデバイスEmbedded Solution
やったこと
そもそもいろいろガバですがこんな感じに進めました。
Pythonスクリプトをbatから実行
Anacondaで環境作ってましたが,単一動作しかしないので結局Anacondaフォルダ以下のpython.exeとScriptsフォルダにパスを通してしまいました。 batファイルは非常に簡単で以下のものを作成します。
@echo off python XXX.py
管理者権限が必要な操作をbatでやる例
netshでIPアドレスを固定化したかったのですがこのコマンドは管理者権限でやる必要があります。 WindowsのnetshコマンドでTCP/IPのパラメータを設定する:Tech TIPS - @IT
こんな感じのbatファイルを管理者権限で実行する必要があるわけです。
@echo off netsh interface ip set address "イーサネット" static 172.16.1.101 255.255.255.0 172.16.1.1
以下のブログにあるように,powershellを使ってやりました。 管理者権限でbatを実行したい時にやッた事
@echo off powershell start-process 実行対象.bat -verb runas
このbatを実行するときには管理者権限が必要とされます。つまり,クリックでOKを選択する必要があることに注意。 電源を入れただけでは実行出来ないのです。
Boot時に特定のプログラムを実行する
「組み込み」なので電源を入れさえすればプログラムが勝手に動き出すようにしてほしいです。
Boot時に特定のプログラムを起動する方法はいくつかありますが,管理者権限の必要不要に応じて2つの方法を紹介します。
管理者権限が不要の時
以下のフォルダにショートカットファイルを置けば起動時に実行してくれるようです。
C:\Users[ユーザ名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Debian系なら.bashrcの他に/etc/rc.localに置くことに該当します。 linux起動時に自動的に実行するコマンド(プログラム)の設定
管理者権限が必要の時
上記の管理者権限をKickするbatファイルを実行するときに必要です。 タスクスケジューラを使うようですが,今回は結局やりませんでした。 管理者権限が必要な常駐アプリはタスクスケジューラでスタートアップさせる
一応メモとして。
その他の作業
UltraVNCを用いたファイル操作
あと,物理的な接続なしでwifiで今後の作業を進める必要があったので,Winscpのようにファイル転送できるUltraVNCというソフトをインストールしました。 UltraVNCでコンピュータをリモート制御する(サーバ編):Tech TIPS - @IT
Windowsの自動更新をOFF
Windows10が勝手に自動更新をかけてきます。組み込みでいきなり例の青画面が続くのは心臓に悪いので確実に息の根を止めます。
IPアドレスを固定化
IPアドレスを固定化します。
感想
もっと賢くできないですか…ね????