開発ノート (91)

川内 康雄

Raspberry PiでIoTなIT:Raspberry Piの基板の穴は2.6mm

Raspberry Piを筐体に固定する場合、初代Piはマウンティングホールが無く、何らかのケースを介して固定する必要がありました。A+やB+以降は固定穴があり、パターンも絶縁されているので固定が簡単になりました。この穴のサイズですが、海外では2.5mmと書いている記事もありますが、日本で普通に入手できるビスとしては2.6mmが適合します。スイッチサイエンスさんのバニラ基板の固定用スペーサーも2.6mmのネジが切ってあるものが付いていました。

Continue reading...
川内 康雄

Raspberry PiでIoTなIT:3の仕様書が出ている

Pi3の公式仕様書?のようなものがRSに出ていました。電源要求が2.5Ahttp://docs-europe.electrocomponents.com/webdocs/14ba/0900766b814ba5fd.pdfPi2はこちら。電源は2Ahttp://docs-europe.electrocomponents.com/webdocs/1392/0900766b8139232d.pdfPi1はNodeを走らせたときや再起動のもっさり感でかなりストレスを感じていたのですが(もちろんHeadless運用でですよ)、Pi2になってからは満足のいくパフォーマンスが出ています。ですのでしばらくは省電力なPi2を使おうかと思います。”””

Continue reading...
川内 康雄

Raspberry PiでIoTなIT:Javascriptではプリミティブ値の状態では参照渡しができない

手抜きですがコード内のコメントが記事です。Javascriptではプリミティブ値の状態で参照渡しを強制することができないのですね。Cなら簡単なのに。Javascriptで仕様的に無理なので、Typescriptでも無理なんでしょう。そのためオブジェクトが入る変数が初期化されているかを、参照代入先で判定するには、工夫が要ります。 //参照渡しとifの実験//Javascriptでifの判定で偽となるのは以下の場合のみ//数値 0、NaN//null//undifined//空文字列//空のオブジェクトvar testobject1:{} = {};//結果はtrueconsole.log('testobject1');if (testobject1){ console.log('true');} else { console.log('false');}//空でもtrueになってしまうので//オブジェクトに初期化されているかの判定用の要素を持たせるvar testobject2 = {initialized:false};console.log('testobject2');//結果はfalseif (testobject2.initialized){ console.log('true');} else { console.log('false');}//それではこのオブジェクトの参照渡しはできるのかvar testobject3 = {flag:false};//できない//testobject2 = testobject3;//Typescriptだと一定のオブジェクトとして初期化されていると型が合わないオブジェクトは代入できない//is not assignable toになる//値渡しで代入した後、オブジェクトを代入したら参照渡し扱いに変更されるのか//されないvar testobject4:any = null;var testobject5:any;testobject5 = testobject4;console.log('nullはプリミティブ型なので値渡し');console.log('testobject5');if (testobject5){ console.log('true');} else { console.log('false');}testobject4 = {init:true};//testobject5 = testobject4;console.log('もともと値渡しされていたので参照されていないから代入元を変更しても反映しない');console.log('testobject5');//こう書こうとしても構文的にエラーになる//if (testobject5.init){if (testobject5){ console.log('true');}…

Continue reading...
川内 康雄

Raspberry PiでIoTなIT:スイッチサイエンスのバニラ基板

ユニバーサル基板でマイコンのドーターボードを実装するときにいつも困るのが、レセプタクルの個々のピンがマイコンのどのピンに対応しているかが分からないこと。端からの何番目かを数えることに時間と神経を使ってしまいます。個別のマイコンボード専用のユニバーサル基板だとシルクからピンが分かるので、すぐに配線できます。ちなみに最近ユニバーサル基板の実装のコツはリード部品のリードを、いかにしてそのまま配線に使うかだと思っています。あと事前の計画と。”””

Continue reading...
川内 康雄

Raspberry PiでIoTなシステム開発:ワイヤリングは色までドキュメンティングしないと間違える

ヘッダソケットと筐体のソケットをつなぐケーブルは最初上記の様に図示していた(赤字が無い状態)のですが、実際に実装する際には間違えまくりました。試作で根を詰めるとだんだんとぼーっとしてきてミスが増えます。やはりソケット側の番号、ケーブルの色までドキュメンティングしないといけないと痛感しました。で、上記赤字の様にメモが増えています。”””

Continue reading...