Obniz
昨今、STEM教育の一環としてArduinoやBBC Micro:bit、IchigoJam、Raspberry Pi、M5Stack等、様々な知育玩具があるが、obniz Boardもその範疇に分類されるもので手軽にプログラミングできる環境が用意されていて単なる教材の範疇に留まらず、スマートホーム化やラジコン、ロボットなどと実用的な製品を作成することも可能である。前述したArduinoやRaspberry Pi、M5Stackは、IoT機器で利用される代表格であるがC言語や電子回路、Linux等の知識を必要とするため電子工作初心者には参入障壁が高いという理由が、obniz開発の経緯である。セットアップの容易さから、初心者だけではでなくIoTの上級者までにも利用されている。
obnizは「object」+「nize」の造語であり、現実世界のモノをオブジェクト化する意味で命名された。
SDKを使えばJavaScriptから利用が可能でobnizにつないだ部品をHTMLの中で『プログラム上のオブジェクト』として扱えるようになる。HTML内のスクリプトタグで、obniz.jsを読み込むことでJavaScript SDKを利用できる。obnizに繋がれた電子部品も、SDKも用いることでJavaScriptのオブジェクトとして操作ができる。
obnizクラウド上でも前述したJavaScriptやブロックプログラムが実行可能である。この場合、エンドユーザの利用端末でプログラムエディタを保存するのではなく、obnizクラウド上にて保存・更新・削除等ができる。
ブロックプログラミングでは、プログラム初心者でも利用しやすく視覚的にも論理的にも分かりやすく設計・開発されており、初心者へのIoTのハードルが低い。
フロントエンドのJavaScriptだけではなく、バックエンドでのNode.jsやPythonでも利用可能である。フロントエンドでのJavaScriptの場合、ブラウザ使用中のみ、obnizクラウド及びobnizとの連携が可能である。この場合、ブラウザを閉じた場合には、obnizクラウドとの通信が切れ、obnizとの通信も切れる。
Keyestudio_HT16K33:複数LEDを操作するHT16K33チップと連携するクラス。
Camera(カメラ)関連
ArduCAMMini:少ないピン数で利用でき、jpegで画像を取り出すことができる。
JpegSerialCam:撮影した画像をjpgにして、UARTで送信できる。
Moving(モーター)関連
DCMotor:電池を繋いで回すことができる一般的なモーターである。
ServoMotor:角度を維持することができるモーターである。
StepperMotor:ある角度ずつ正確に回転させることができるモーターである。
Solenoid:ソレノイドは金属のピストン付きのコイルである。
PCA9685:16の独立したPWMを出力できるチップである。
Sound(音)関連
Speaker:2本の線で接続し、電流によって音を出すことができる。
Grove_Buzzer:Groveコネクタで利用できるブザー。指定した高さの音を鳴らすことができる。
Grove_MP3: GroveのMP3プレーヤー。SDカードに保存したMP3を再生することができる。Grove MP3 v2.0 に対応したライブラリ。
Keyestudio_Buzzer: Keyestudio社製ブザー。指定した高さの音を鳴らすことができる。
Grove_Speaker:Groveコネクタで利用できるスピーカー。指定した周波数の音を鳴らすことができる。
GasSensor(ガス)センサー関連
MQ2:高い感度で様々なガスに反応するセンサーで、特にLPG, プロパン, 水素に反応する。
obniz Boardの最大の特徴は、容易なセットアップである。上記で述べた他のマイクロコンピューターは、環境設定に多くの時間を費やすが、obniz BoardはWi-Fiのみの設定で直ちに利用できる。PCまたはスマートフォンのブラウザから、obniz cloudを通じて同じLAN内にあるobniz Boardを制御できる。また、IoT機器では必須となるセンサーやモーターなどパーツライブラリのセットアップから実行までも数行のコードで実行可能である。公式サイトには、様々なパーツライブラリを用いたドキュメントが豊富であり初心者であっても容易にIoTを体験できる。