Author Archives: osakanataro - Page 2

PowerShellによるWindows Updateが0x80240023で失敗する(EULAの同意問題)


PowerShellを使って、Windows Updateを行うスクリプトを作成中。

実物はいろんな細かい細工をしているので、似たようなものを作成すると下記のようなものとなる。

$UpdateCollection = New-Object -ComObject Microsoft.Update.UpdateColl
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = New-Object -ComObject Microsoft.Update.Searcher
$Result = $Searcher.Search("IsInstalled=0 and Type='Software'")
foreach( $Update in $Result.Updates){
    if($Update.AutoSelectOnWebSites -eq $true){
        $UpdateCollection.Add($Update) | Out-Null
    }
}

$Downloader = $Session.CreateUpdateDownloader()
$Downloader.Updates = $UpdateCollection
$DownloadResult = $Downloader.Download()

$Installer = New-Object -ComObject Microsoft.Update.Installer
$Installer.Updates = $UpdateCollection
$InstallerResult = $Installer.Install()

これをWindows7環境で実験を行った。

まず、最初は下記のエラーが出力された。

"0" 個の引数を指定して "Download" を呼び出し中に例外が発生しました: "HRESULT からの例外: 0x80240044"

これは、スクリプトを管理者権限を持たずに実行していたためで、管理者権限を与えることで回避できた。

スクリプトを実行し再起動、ということを何回か行った後、最後の1つになったところで、以下のエラーが出力された。

"0" 個の引数を指定して "Install" を呼び出し中に例外が発生しました: "HRESULT からの例外: 0x80240023"

この「0x80240023」というものは「WU_E_EULAS_DECLINED」というエラー。

適用に失敗したものは「悪意のあるソフトウェアの削除ツール x64 – 2017 年 3月 (KB890830)」

そうです。
手動で適用しようとするとライセンスの同意画面が出てくるやつです。

で・・・探してたら「Windows Update PowerShell Module」というPowerShellでWindows Updateを行うためのモジュールが・・・
ヒントを探してみるとありました。

「$Update.EulaAccepted」が0だったら「$Update.AcceptEula() 」を実行、と

というわけで、修正したものが下記になります。

$UpdateCollection = New-Object -ComObject Microsoft.Update.UpdateColl
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = New-Object -ComObject Microsoft.Update.Searcher
$Result = $Searcher.Search("IsInstalled=0 and Type='Software'")
foreach( $Update in $Result.Updates){
    if($Update.AutoSelectOnWebSites -eq $true){
        if($Update.EulaAccepted -eq 0){
            $Update.AcceptEula()
        }
        $UpdateCollection.Add($Update) | Out-Null
    }
}

$Downloader = $Session.CreateUpdateDownloader()
$Downloader.Updates = $UpdateCollection
$DownloadResult = $Downloader.Download()

$Installer = New-Object -ComObject Microsoft.Update.Installer
$Installer.Updates = $UpdateCollection
$InstallerResult = $Installer.Install()

アステージのNCボックス/STボックス/パワーコンテナ/シールドコンテナ#22を4種買ってアイリスオーヤマMBL-22と比較した


アイリスオーヤマの密閉バックルコンテナMBL-22を使っていたのだが、生産終了となってしまった。
後継品の「密閉バックルコンテナ MBR-22」は、バックルの位置が変わってしまっている。

バックルコンテナ BL-22」の方は密閉じゃないしなー、と似たようなほかのものを探した。

アステージのDIYコンテナシリーズ」のサイズが似たような感じだったので買ってみた。

ただ、アステージの商品は

NTボックス
NCボックス
STボックス
パワーコンテナ
バンパーコンテナ
シールドコンテナ

とあるのだが、違いがよくわからない。

「NTボックス」と「NCボックス」は色違いかな?
「NCボックス」と「STボックス」はバックル形状だけの違いかな?
「STボックス」と「パワーコンテナ」の違いが見えない。
「バンパーコンテナ」は材質が他と違うようだ
「シールドコンテナ」は「STボックス」の蓋違いっぽい

正式見解を聞いてみようと思ったので、お問い合わせ窓口から違いを製品紹介に追加してほしいと伝えたところ、追加します、との返事があったので、3週間たっても掲載されず・・・

まぁ、いっか、とりあえず買ってみるか、と4種類購入
「NCボックス #22」
「STボックス #22」
「パワーコンテナ #22」
「シールドコンテナ #22」

というわけで、届いた4個

結論から言えば、↑に書いた予測はほぼ正解。追加要素として以下があった。

「NCボックス #22」「STボックス #22」「パワーコンテナ #22」の箱の部分は同一
「シールドコンテナ #22」は箱の作りが若干違う

アイリスオーヤマのMBL-22と比較してみると、サイズはほぼ同じ

では・・・積み重ねができるのか?
アステージ#22シリーズが下の場合は特に問題ない

しかし、アイリスオーヤマMBL-22が下の場合は、蓋と底の形状が合わず、ずれてしまいました。

条件付きながら積み重ねは可能でした。

で・・・使ってみた感じとしての私のおすすめは「STボックス」、密閉した場合は「シールドコンテナ」です。

STボックス
シールドコンテナ

で・・・以下は参考としての写真集です。


「NCボックス #22」

「STボックス #22」

「パワーコンテナ #22」

「シールドコンテナ #22」

Allwinner A64搭載のOrange Pi Winが$28.41で販売開始


Allwinner A64搭載のOrange Pi Winが$28.41で販売開始されました。

Orange Pi Win Development Board A64 Quad core Support linux and android Beyond Raspberry Pi 2


既に販売開始されているAllwinner H5搭載のOrange Pi PC2と比較すると・・・

・SoCが異なる(同点)
 Allwinner H5 vs Allwinner A64
 ただし、演算能力的な差異は、ほぼ無い。
 Allwinner A64を、Allwinner H3とピン互換にしたものがAllwinner H5となる。

・GPUが異なる(PC2の勝ち)
 H5のGPUはMali450、A64のGPUはMali400MP2
 H5の方が性能は良い

・メモリは同じ
 OPi Win、OPi PC2共に1GBと同点

・LCD端子の有無(Winの勝ち)
 OPi Winは、LCD接続用のMIPI LCD端子あり
 OPi PC2は、無い
 LCDを直接駆動する必要がなければ、メリットでは無い
 (HDMI端子はどちらにもある)

・無線LAN/Bluetoothの有無(Winの勝ち?)
 OPi Winは、AP6212によるWiFi 802.11b/g/nと、Bluetooth 4.2に対応
 OPi PC2は、搭載されていない
 ただし、日本で合法的に使用するには、技適が無いものは不要要素なので
 利点と言えるかは微妙

・ボタンなどが多い
 OPi Winにはデバグとか組み込み用に便利なものがある
 OPi PC2は最小限

・オンボードeMMC
 OPi Winの標準構成はeMMCはないが、オプションで提供予定
 OPi PC2は、そのようなスペースは無い

・サイズの違い(PC2の方がコンパクト)
 OPi Win 93mm x 60mm 48g
 OPi PC2 85mm x 55mm 38g

・電源供給の違い
 OPi Winは、極性統一#2端子か、microUSBか、スイッチにより切り替え可能
  また、外部バッテリーの接続用端子ありのため、UPS的運転可能?
 OPi PCは、極性統一#2端子のみ

・USB端子数の違い
 OPi Winは4ポート
 OPi PC2は3ポート

というわけで、Armbian入れて、ボード単品もしくはHDMI出力で使う、という場合には、Orange Pi PC2の方がコストメリットもあり、優れています。
Orange Pi Winは、組み込んでLCD出力やバッテリー駆動とかを行わせようという場合に向くような感じです。

で・・・Orange Pi Winの「Win」って、何なのか?ってことなんですが、
同じAllwinner A64を使っているPINE A64BPI-M64って、Windows 10 IoTに対応してるんですよね。
(詳しくは→「Allwinner A64搭載ボードのBPI-M64とPINE64がWindows 10 IoTに対応開始」2016年8月)

なので、このOrange Pi Winも、Windows IoTに対応するっていう意味なんじゃないかなぁ・・・と思ってはいるのですが
今回の販売にあたっては、何も触れられていないのが残念なところです・・・

はたして、どうなるんでしょうね


OPi Winオンボードに搭載されている電源制御ユニット(PMU) AXP803について調べたら、同じくAllwinner A64を使っている「NanoPi A64」でも使われていることが判明。
NanoPi A64の基板サイズは64mm x 60mm と、OPi PC2より小型サイズ。

Orange Pi Plus 2Eでのお薦めOSはArmbian


秋葉原でOrange Pi Plus 2Eが、なぜか、いまのタイミングで販売され始めた模様。
なんちゃってと呼ぶにはハイスペックな「Orange Pi Plus 2E」が登場

「なぜか」としたのは、Orange Pi PC2の方が、いまのタイミングだったら、いいんじゃないかなぁ、と思うので・・・
Orange Pi Plus 2の方だったらSATAコネクタがついてるので、NAS用途にって言えるんですが、Orange Pi Plus 2Eだと、あまりお薦めできるポイントが・・・
とりあえず、簡単な比較

・Orange Pi Plus 2Eの利点
 RAMが2GBある(Orange Pi PCとOrange Pi PC2はRAM 1GB)
 オンボードにeMMC 16GBが載っているので、microSDがいらない
 (技適的に駄目なのが、WiFiがオンボード)
 公式通販:Orange Pi Plus 2Eのセット商品。テクノハウス東映で売ってるケースセットは送料込みで$44.39。

・Orange Pi PCの利点
 CPUはOrange Pi Plus 2Eと同じ
 小型
 安い
 技適の問題無し(WiFiを積んでないので)
 公式通販:Orange Pi PCのセット商品。ケースセットは送料込みで$22.56。

・Orange Pi PC2の利点
 CPUは64bitのCortex-A53コア使用のAllwinner H5採用でラズパイ3対抗
 サイズはOrange Pi PCと同じで小型
 Orange Pi Plus 2Eより安い
 技適の問題無し(WiFiを積んでないので)
 公式通販:Orange Pi PC2のセット商品。ケースセットは送料込みで$27.56。

7480円で買うより、公式通販で買って2週間ぐらいで届くのを待ってもいいんじゃないですかね?という気がします。

あと、電源はmicroUSBではなく、PSPと同一形状の極性統一#2/EIAJ#2と言われる形状のものです。
秋葉原で探す場合は、千石電商で、極性統一#2、内径φ1.7、外径:φ4.0のDC05-4017,DC-4017を当たりを探しましょう。

ジャンク屋を巡ると5V機器用のやつでこれを使っているやつがあったりします。ポータブルDVDドライブ用電源だったり、ビデオカメラの電源だったり・・・・探してみても面白いかもしれません。


さて、Orange Pi シリーズですが、公式では「Android 4.4,Ubuntu,Debian,Rasberry Pi Image」とかうたってますが、表現に嘘があります。

「Rasberry Pi Image」です。
これは、「Rasberry pi用のOSがそのまま動く」という意味では無く「Raspberry pi用のOSをOrange Piで動くように改造したものが存在する」という意味です。

また、Orange Pi公式で配布しているUbuntu,Debian,Raspberry Pi Imageですが、Linux kernel部分のアップデートが提供されていません。
サーバとして継続運用するのには向いていないので注意してください。

では、サーバとして継続運用するにはどうすればいいのか?

現状のお薦めは、「Armbian」を使用するということです。
ArmbianはARM系SoC各種向けにDebian/Ubuntuベースで作成されたディストリビューションです。
Kernel周りなどのハードウェア固有のバイナリはArmbianのレポジトリから、それ以外のソフトウェアのバイナリはDebian/Ubuntuのarm用レポジトリから取得する形になっています。
こちらはOrange Pi公式とは異なり、活発に開発されており、セキュリティfixなども、そこそこちゃんとリリースされています。

ダウンロードページから各機種用のページにアクセスし、「Server」もしくは「Desktop」からファイルを入手します。
Serverはコンソールのみ、DesktopはX-Windowが起動します。
初回ログイン時のユーザ名は「root」、パスワードは「1234」です。

また、WiFiが搭載されている場合に、WiFiに接続するにはnmtui-connectコマンドを使用します。
(NetworkManagerを使う設定です)

・・・・え?
Androidを使いたい場合はどうすればいいかって?
Orange Pi公式のAndroidはPlayストアがインストールされていません。
3rdパーティー品でいいのは特にありません。
動作確認程度にしか使えないと思っていいですよ

ESP8266を積んだLED電球やらスイッチやら


cnx-softwareの「$12 AI Light ESP8266 based WiFi RGB Light Bulb Supports MQTT via ESPurna Open Source Firmware」の関連リンクを見ていったらいろいろ興味深いものを発見。

元記事は、ESP8266を搭載したLEDランプのfirmwareをオープンソースのものに入れ替えることができる、という話。

ESPurna Firmware
ESP8266搭載のLEDランプや、電源ラインスイッチなどで使えるfirmware。
httpdサーバ搭載の他、MQTTやAlexaを使った連携を実現できる。
Home AssistDomoticzというWebサービスと連携することも出来る。

Noduino OpenLight
ESP8266搭載のLEDランプに入れるfirmware。
コントロールするためのAndroidアプリも提供されている。
https://github.com/icamgo/noduino-sdkでソース公開している。

AiLight – A hackable RGBW light bulb」にfirmwareを書き換えてみた、という事例がある。

Mongoose OS
ESP8266の他、ESP32など、似たような低いスペックのボード用OS。
AWS IoTが使えるらしい。
ESP8266電球の話をしていたら、「this is great write up.」って言われたんだけど、言及した中ではMongoose OSが使われている様子はなくて、ちょっと困惑気味。