IoT関連写真

IoT関連機器の購入製品を紹介していきます

関連記事: デジタル関連写真 関連記事: Raspberry Pi関連
関連記事: PICマイコン関連

Maixduino (Risc-V)

気が付くと 手にしたものはすべて中華製
中国のモノ作りの勢いに圧倒されつつ
Maixduinoというワンボードマイコンの紹介です
Maixduino 内容
Maixduinoは Sipeed社製のマイコンボードで
RISC-Vとして注目されている K210を搭載しています

画像認識をメインとした AI処理ができます
キットには 本体のほか カメラや LCDも付いてます
ボード背面
ボードの背面には簡易ながら システムのブロック図が
プリントされています

ボードには K210の他に ESP32も搭載していますが
WiFiや Blutoothなどの通信モジュールとしての扱い
のようです
GPIOやほとんどの I/Oは K210の方につながっており
あくまで K210がメインです

K210は MaixPy と呼ばれる
MicroPythonをベースとしたファームウェアが配布されており
Python言語に近い感覚のインタープリタ言語が扱えます

Windowsや MACからは MaixPy IDEという統合開発環境
により MaixPyへアクセスできます

また画像認識用のモデルも配布されており
簡易な準備で 手軽に画像認識AIを体験できます

チャイムアラーム

玄関のチャイムが壊れたので DIYしてみました
ESP32チャイムアラーム1
ESP32マイコン と 温湿度を測れるセンサ あと
画面表示の OLED や ブザーを組み合わせて
ディープスリープにより電池の消耗を抑えます
ESP32チャイムアラーム2
ケースに入れて 電池ボックスをつなげたところ
また ブザーが付いてるで時限アラームを設定
できるようにしました 5分~2時間の指定時間
でブザーが通知してくれます
ESP32チャイムアラーム3
元々は押しボタンから無線で通知を飛ばすつもりでしたが
無線lANのリンクアップに5秒以上かかって応答がよくない
ため結局有線ボタンにしました
ESP32チャイムアラーム 回路図
回路図です OLEDにはSSD1327(128×128) を使い
温湿度センサはBM280で どちらもSPI通信です

DSOとファンクションジェネレータ

ふと周波数信号を扱ってみたいと思い 普段はあまり欲しいとも思ってなかった
オシロスコープとファンクションジェネレータを検討してみました

  • オシロスコープ : 測定対象の波形を計測する
  • ファンクションジェネレータ : 指定周波数の 正弦波 三角波 矩形波 など任意の信号を生成する

オシロスコープは 中華製ですが miniDSO DS213 を購入しました
miniDSO DS213パッケージ
2万円前後で Amazonなどで買えます
4ch付いてて 100MSa/s(1秒間に 1億回サンプリング可能) というなかなか高性能
また 任意波形の信号も生成でき 8MHzまでの矩形波 20kHzまでの正弦波/三角波/のこぎり波
が出力できます
miniDSO DS213箱裏
箱の裏面 シンプルに仕様と梱包物が書かれてます
箱のデザインがなかなかポップな感じで良い印象です
miniDSO DS213内容
内容物です 手のひらサイズのオシロスコープということで使い勝手は良さそう
プローブも2本付いているのが助かります

電源が入っている写真が残ってなくてもうしわけない
CPUは ARM Cortex-M3 に 8MBの内蔵ストレージを持っていて測定波形を記録できます
オープンソースのソフトウェアを使ってるようですね

DSO(Digital Storage Oscilloscope) とは 高速なD/A変換により入力信号を
ストレージに記録できるようデジタル化してしまう装置です
中華製のこういう モノづくりの手っ取り早さには脱帽します

続いて DSO買ってしまったので 実は不要だったのですが
ファンクションジェネレータは自作しました
自作ファンクションジェネレータ 内部
PIC16F1938 をメインマイコンに中央に添えてます
左下にあるのが AD9834というファンクションジェネレータICを使ったキットです
つまりファンクションジェネレータは キットにやらせてます
右の BNCコネクタは周波数カウント用の入力端子です
PICの周波数カウンタを利用して 2MHzまでの周波数カウンタとしても動作します
右上のモジュールは microUSB端子で 電源かつシリアル通信可能です
シリアル通信で PCと通信させる予定ですが ソフトウェアがまだ作り込めてません
自作ファンクションジェネレータ 概観
蓋を閉じたところです PICへ指示を出すためのスイッチや 周波数調整つまみがあります
メインは秋葉原で投げ売りされていた 4桁LCD 3年ほど前に買って使い道がなかったけど
ようやく消費できました
自作ファンクションジェネレータ 蓋裏
蓋の裏です 見える基板は LCDのもの LCD 108B6B という型番の 20列4段で
有名な HD44780コントローラが使われているのでネットに利用方法が豊富にあります
自作ファンクションジェネレータ 側面
横からみたところ ファンクションジェネレータの出力は小さいBNCコネクタです
自作ファンクションジェネレータ 底面
下から見たところ コメントはありません
自作ファンクションジェネレータ
電源を入れたところです
2段目が周波数カウンタで 2MHzまでが測定限界でした
3段目はファンクションジェネレータの周波数設定で 50MHzまで指定できますが
安定した信号が何MHzまで出るのか未検証です
4段目左は位相指定(あまり使わない?) 4段目右は出力波形形状です
出力波形は 正弦波 三角波 矩形波 が選べます

PICの能力で周波数カウンタが 2MHzまでしか測定できないのは誤算でしたが
これでさらにモノづくりが効率化すれば良いなと思います

Thunderboard React

Silicon Labs社の製品 Thunderboard React です
同社が扱っている Bluetooth搭載 MCU である Blue Gecko が搭載されています
これを IoTデバイスとして利用しアプリケーション開発することができます

2019年末の Web×IoTメイカーズチャレンジ2019 に参加した際に
触る機会があったので試してみました
秋葉原でもあまり店頭でみかけないですが
しっかりした開発環境も提供され Bluetoothベースの IoTを開発する選択肢です

スマートフォン(Android iOS) から利用可能な標準アプリケーション
があります
標準アプリ ペアリング
アプリを立ち上げると Bluetoothペアリング可能な機器を探索してくれます
標準アプリ メニュー
トップメニューから Thunderboardで利用可能なセンサなどにアクセスできます
標準アプリ モーション
Motion を選んだところ 3軸加速度センサによる 傾き状況が表示されます
標準アプリ 環境
Environmentでは 温湿度 環境光 紫外線の強さも測れます
標準アプリ I/O
I/Oでは 2つあるスイッチの押された状況が表示され
また 2つある LEDの On/Off をコントロールすることができます

micro:bit

micro:bitとは イギリス BBC が開発した入門者向け小型のマイコンボードです
Webブラウザから Javascript MicroPython Scratch によるプログラミングが可能です
とても簡単にプログラムして動作するところまで実験することができます
micro:bit概観

MCU Nordic nRF51822 (ARM Cortex M0 16MHz 16KB)
無線通信 2.4GHz ブロードキャスト可能
Bluetooth 4.0LE iOSの Swiftなどで使える Pythonは未サポート
その他 5*5 LED+環境光センサ
プッシュスイッチ*2
eコンパス
3軸加速度センサ
温度センサ
リセットボタン
2ピン電源コネクタ PHコネクタ
microUSB
GPIO

GPIOのピンアサインは次の通り
micro:bit GPIO
プログラミングは次の流れで行います

  1. 次の Webサイトにて プログラムを行う
  2. Python言語
    MakeCode

  3. プログラムしたら .hex がダウンロードできるのでダウンロードする
  4. micro:bit を USB接続してフォルダに .hex を置けば自動的に書き込まれる

電子ペーパ

電子ペーパを買ってみました
電子ペーパ1
Waveshare社製の電子ペーパは入手性も高くサイズも豊富です
今回買ったのは 大きめ 7.5インチで 黒 黄 白 の 3色で描画ができるものです
フラットケーブルの部分が壊れやすいため 注意が必要です
電子ペーパ2
マイコンと SPI接続するための インターフェースボードも共通化されています
Arduino, Raspberry Pi, STMなど各種マイコン用のライブラリも提供されており
開発もしやすそうです

AIモジュール Movidius Neural Compute Stick

NCU(Neural Compute Stick) という Intelから発売されている USBの AIモジュールです
Raspberry Piのように AIに弱いマイコンに 画像認識などの機能を追加したい向けです
もともとは Movidius社の開発した Myriad 2という VPUが使われていますが
Intel社に 買収されています
Movidius パッケージ
Raspberry Pi単体に 計算させるよりは 4~5倍くらいは速いかなといった感じです
今は NCU2 というさらに 10倍くらい速いデバイスが販売されているので
そちらを使うのが良いでしょう
中身は次の写真のように 綺麗な青色の放熱性の良さそうなアルミ外装です
Movidius 開封状況
Tinkerboard に挿してみました
2つ挿してますが 開発キットの NCSDKは 1つまでしかサポートしてないようです
アプリケーション側で 複数のモジュールを使うようにすればよいのかな
Movidius 接続状況

FlashAir

東芝製のアイデア商品 FlashAirです
SDカード内に Wi-Fi や マイコン を納めているので 単体でも IoTできます
ただ期待ほど流行らなかったため 製品としては縮小とのことで残念です
FlashAir4 パッケージ
次の写真のような ブレークアウトボードもあるため開発も可能です
Luaスクリプトです
FlashAir ブレークアウト

LEDマトリックス

電子工作教室で LEDマトリックスを扱う機会があったので 作ってみました
LEDマトリックス
ESP-WROOM-32のマイコンから MAX7219という 64個のLEDを制御できるICを使う形です
MAX7219のドライバも含んだ Arduino IDEソースコード はここのリンクからどうぞ

NVIDIA Jetson Nano Developer Kit

2019年5月に 日本で発売されるようになったマイコンキットです
位置づけは Raspberry Pi と同じで、Linuxが動作するマイコンです

最大の特徴は NVIDIA製の GPUが載っているということで
Raspberry Pi では出来なかった CUDA(GPGPU)を使った機械学習などの高速化
また 3Dグラフィックスの支援機能としても期待できます

2014年に発売された GeForce GTX 750 Ti が Maxwell世代の CUDAコア 640基なので
Jetson Nano の 128基の Maxwell世代 CUDAコアでは 比較すると 1/5 程度です

Jetson Nano 外箱
Jetson Nano 本体
Jetson Nano セットアップ
OSが Ubuntu であることを除けば ほぼ Raspberry Pi です

Jetsonケース1 パッケージ
Jetsonケース2 組み込み前
Jetsonケース3 組み込み後
Jetson用のケースです 2019年8月に秋葉原のオリオスペックにて
オリジナルケースとして販売されたものです

ヒートシンクがケースから露出するように工夫されていますが
ファンとぎりぎり干渉します ファンの側面を少し削りました
WiFiアンテナ用の穴も開いていますが これもアンテナがぎりぎり通らない狭さ
これも ドリルで穴を少し広げることで対応しました

初回の起動画面もキャプチャしたので貼っておきます
Jetson Nano ブートロゴ
ブートロゴです
Jetson Nano EULA
エンドユーザライセンス画面
Jetson Nano エリア選択
地域の選択画面
Jetson Nano デスクトップ
デスクトップです Ubuntuです

RaspberryPi Zero用 照光スイッチ 拡張基盤

部屋の LED照明器具の明るさを制御してみたいと思い購入しました
RaspberryPi Zero用 照光スイッチ 拡張基盤 と Raspberry Pi Zero W です
XBee
まず Zeroですが OSの相性の問題か Jessie(2018-10以降)では I2Cインターフェースが
動かずうまく拡張基盤と通信できませんでした Jessie(2018-7)版では動作しました

制御対象の LEDは 12Vまでの 外部電源を利用可能となっています
0~255 の 256段階で明るさを指定できますが明るさの制御が PWM方式だからか
100とかの中間の段階を指定すると若干ノイズが聴こえるような

BLUENINJA

BLUENINJAという IoTセンサモジュールに挑戦中
BLUENINJA
BLUENINJA本体 と ブレークアウトボードつまり開発キットです
かなり小型のモジュールです Bluetoothで通信でき
9軸(加速度 角速度 地磁気) や 気圧などの環境情報を採取できます
開発環境は整って テストファームウエアをビルドできるところまで確認しました

XBeeモジュール

ZigBee通信規格のモジュール と USB変換器です
Arduinoのシリアルを無線化したりするのに使えます
XBee
XBeeモジュール自体も センサ測定情報を収集する簡単な機能を持っているようです

USB Wi-Fi

Raspberry Pi用に追加 無線LAN機器を買いました
これはお薦めです
AirStation N150 USB
AirStation N150 USB (WLI-UC-GNM2)
親機 つまり Wi-Fiアクセスポイント になれるのです
Wi-Fiモジュールで親機になれるのは 以外と少ないので親機モジュールが欲しい場合
結構探す必要がありますよ