投稿

12月, 2018の投稿を表示しています

第39回「IoT GW ラズパイによる」

イメージ
IoTゲートウェイは各社の専用機もありますが、とりあえず実証実験したい時にはハードルが高いのでそんな時はRaspberry Piをお薦めします。 電源が来ていればいいですが、屋外だったり屋根裏だったりに置きたいのに電気工事士に頼むまでもないような場合は、PoE(Power over Ethernet)をお薦めします。 アーミンオンラインショップでも扱っています。

第38回「サーモパイル  原理と応用」

イメージ

第37回「測距 サンプルを動かしてみた」

イメージ

第36回「測距 測距センサーの原理と応用」

イメージ

第35回「PoE GWの電源について」

イメージ

第34回「BLE サーバとクライアント」

イメージ

第33回「トイレIoT導入のメリット」

イメージ
※トイレ向けIoTの導入サービスページはこちら

第32回「BLE 通信のトポロジー」

イメージ

第31回「BLE Bluetooth Low Energy」

イメージ

第30回「Node-REDのススメ」

イメージ

第29回「トイレIoT 人感センサーの併用」

イメージ
前回のトイレ個室の扉が②のタイプ(人が居る居ないに関わらず閉まっている)の場合、人の在室検知にドアセンサーが使えないので、人感センサーを併用することをお薦めしています。 次のトイレIoTの話題はこちら ※トイレ向けIoTの導入サービスページはこちら

第28回「トイレIoT ドアセンサーの応用」

イメージ
トイレの個室の扉には、①人が居ないと開いているタイプ、②人が居ても居なくても閉じているタイプ、がある。 上記①のタイプの扉の場合、マグネットが近いか遠いかを検知するドアセンサーを使えば、ドアが閉まっているとき人が中に居ることがわかるので、ドアセンサーを在室検知に使えることになる。 ※トイレ向けIoTの導入サービスページはこちら

第27回「「電源」の話が続きます」

イメージ
無線センサーノードの消費電力を下げるには ①無線発信頻度を下げる ②スリープ時の消費電力を下げる(特にセンサー類) が有効 次の電源の話題はこちら

第26回「「電源」の話の続き」

イメージ
仕事量の国際単位はジュール(Joule)だが普通は仕事率(W)と時間の積で表す。 例えば家庭や事務所の使用電力量はkWh(kilo watt hour)で表す。 電池はVが一定の仮定のもとでmAh(mili ampere hour)で表す。 コイン電池のCR2032を1年間一定電流放電し続けるとすれば220mAh/8760h=25uA以下でないといけない。 EnOceanのSTM431J/STM429Jに使われているソーラーセルの性能は3V 4.5uAなので更に条件が厳しい。

第25回「メインはPythonに決めた」

イメージ
当社の開発方針を決めたのでその話です。

第24回「EnOcean over MQTT」

イメージ
EnOceanのロッカースイッチ、ドアセンサーをUSB400Jで受けてMQTT brokerに送り、同じMacでMQTT brokerから受け取って表示させています。

第23回「プロトタイピングの実際 MQTT SubscriberにNode-REDを使う」

イメージ
当社はセンサーの提供業者ですが、テスト、販促のためにも、クラウド、サービス側をある程度知っておく必要があり、実用化はさておいてプロトタイピングでMQTT Subscriberを作る場合は比較的容易な言語、Node-REDが最適である、という話です。

第22回「IoT実用化の壁 電源」

イメージ
複数のセンサーとゲートウェイ、という構成の場合、前者は電池かエナジーハーベスト、後者はAC電源、が一般的です。 個人住宅だと10年程度はメンテナンスしたくないですが、商業施設、事業所なら年1回設備の棚卸をするはずなのでついでにメンテナンスするのはそれほど無理でもないだろうというような話です。 次の電源の話題はこちら

第21回「I2CからMQTTまで」

イメージ
今回は、I2C I/Fを持つRTCを、MbedでUSBのテキストストリームに変換後、Mac/Pythonで外部MQTTサービスに繋いで見ます。

第20回「外部MQTT Brokerにアクセス」

イメージ
IoTゲートウェイから外部MQTTに接続する前段階として、MacからPythonを使って外部MQTTサービスに接続して見たところをお見せしています。

第19回「I2C制御(4) ターミナルからアクセスできた」

イメージ
実際にPCのターミナルからI2Cを制御しているところをお見せしています。

第18回「I2C制御(3) text stream化」

イメージ
なぜUSBポートにI2Cプロトコルを載せた方がいいのか、について説明しています。 ・ハードウェア依存を避ける(機種が変わると使えなくなる、ということを避けたい) ・過度な隠蔽を避ける(I2Cセンサーはデータシート上で使い方をタイミングチャートで説明しているが、過度な抽象化をしていると対応が分からなくなるため)

第17回「I2C制御(2) I2C over USB」

イメージ
I2Cをメインボードのソフトウェアで制御したい場合、I2CプロトコルをUSBインタフェースに載せる案を解説しています。USBポートから制御できると、Windows/Mac/Raspberry Piで同じように扱えるからです。

第16回「I2C制御(1) プロトコル」

イメージ
I2Cインタフェースの詳細について説明しました。

第15回「I2CからMQTT」

イメージ
前回説明したように、IoTシステムを組む場合の仕事は大きく2つに分かれる。 1つは、I2C etc.からゲートウェイを介してMQTTまで。 もう1つは、MQTTを受け取るクラウド、そして端末まで。 前者を組むには、言語として"C"と"Python3"くらいが扱えれば、センサー素子をMQTTプロトコルに載せるところまでできると思います。

第14回「通信プロトコル(3) MQTT」

イメージ
MQTT Publisher, Broker, Subscriberの関係について。 IoTシステムはMQTTプロトコルを使うことを前提にすると仕事は2つに分かれる。 1つはセンサー情報をPublishするまで。 そしてもう一つはBrokerとSubsciber側。 前者が当社のようなセンサー装置の提供側、後者が各クラウドベンダー側、ということになる。

第13回「通信プロトコル(2) TCP/IP」

イメージ
TCP/IPプロトコル階層 アプリケーション層:HTTP, SMTP, FTP, MQTT etc. トランスポート層:TCP, UDP インターネット層:IP ネットワークインタフェース層:Ethernet, 公衆網, LPWA

第12回「通信プロトコルOSI参照モデル」

イメージ
OSI参照モデル アプリケーション層:メール、web、等々。 プレゼンテーション層:情報の形式、フォーマット セッション層:通信の開始から終わりまでの流れ、手順 トランスポート層:信頼性を上げる層 ネットワーク層:論理アドレスを指定して装置を超えて通信できるようにする データリンク層:ここから上が論理層。8bit, parity, stop, bard rate等々。 物理層:コネクタ、電気仕様等。

第11回「IoTでできること」

イメージ
IoTシステムの出口 ・通知する:メール、LINE、Twitter… ・(蓄積後)表示する:Web画面、専用アプリ、サイネージ ・アクションを起こす:照明、アナウンス、モータ?

第10回「プログラミング言語について」

イメージ
1970-1980年代 アセンブラ、FORTRAN, COBOL, BASIC, C, Pascal, LISP, Algol, Ada 2018.11現在の人気Top10 Java, C, C++, Python, Visual Basic.NET, C#, PHP, JavaScript, SQL, アセンブリ 今後30-40年、今一回書いたコードが生き残ることはないだろう、ということを前提に、今使いやすいものを使っていればいいと思われる。 とは言っても、私からの提案としては、組込系のC/C++、WebアプリのJavaScript、glue言語としてPython/Node-REDあたりを使いこなせれば、IoT業界で当面幅の広い仕事がこなせるものと思われる。

第9回「コントローラボードを使いこなす(2)」

イメージ
一個のセンサーから直接インターネットに出ていく構成は、検出する情報一個のイベントが非常に重大でそういう構成をとってもペイする、採算が合うような用途で使われます。 一方、複数の多くのセンサーを一個のゲートウェイでまとめてインターネットに出ていく構成は、センサーから上がってくる小さな情報を長期間、もしくは大量にまとめることで情報の重要度が上がるような応用に使われます。

第8回「コントローラボードを使いこなす(1)」

イメージ
Arduinoについて説明をします。 Arduinoを拡張するには以下の方法があります。 ①センサー素子などをブレッドボードに載せてジャンパワイヤーでつなぐ ②Groveコネクタが出ているセンサー等はそのコネクタがついているArduino互換機を使う ③シールド基板を使う(センサーもインターネット接続もあり)

第7回「コントローラボードのいろいろ」の要約

イメージ
従来ソフトウェアツールは高額で購入する必要があったが昨今無償なのが一般的になってきた。それらボードで代表的なのが以下の3種類。 Arduino Mbed 以上がシングルタスクでリアルタイム性に優れアナログ値も入力できる。 Raspberry Pi…Linux OSが走る。

第6回「長距離無線について」

イメージ
有線:光ケーブル。新規は少ない 無線:公衆網…3G, 4G(LTE)    新通信業者…Sig-fox, LoRaWAN    自前のアンテナ…同上

第5回「近距離無線のいろいろ」の要約

イメージ
近距離無線のメリット ・設置が容易で電線が剥き出しにならないので見栄えが良い デメリット ・期待したほど飛ばない、不安定 周波数が高いと情報を多く送れる反面、直進性が高くなる 2.4GHz帯:Wi-Fi(5GHz帯へ), BLE  920MHz帯:Z-Wave, EnOcean, Wi-SUN等

第4回「センサーからインターネット」の要約

イメージ
センサーからインターネットに出るまでのインタフェースの整理 ①センサー素子と制御回路間 アナログからディジタルへ I2C, SPI, UART, etc. ②制御回路とゲートウェイ間 有線LAN 無線:Wi-Fi, BLE, Zigbee, Z-Wave, EnOcean ③ゲートウェイとインターネット間 公衆網:光ケーブル、3G, 4G, LTE LPWA:Sigfox, LoRaWAN

第3回「センサーの用途と分類」の要約

イメージ
(1) センサーが内蔵されている機器 スマホ ・マイク、カメラ、タッチパネル、指紋センサー ・温湿度、気圧、照度、ジャイロ、加速度の各センサー その他多くのセンサーを内蔵している機器類 空調機器 調理機器 自動車 (2) センサーを使う目的、用途 観測対象の物理量をセンサーで電気信号に変える。得られた電気信号(場合によっては複数)を加工して(人がこれから何をしようとしているか等の)複雑・高度な情報を得る。 (3) センサーで得られる情報の分類 視覚:可視光、赤外線、紫外線。これをまとめた画像 聴覚:音声、振動 触覚:速度、加速度、質量 味覚:液体成分、流量 嗅覚:気体成分 (4) センサーを使えるようにするための機器構成 インタフェース①:センサー素子と制御回路(これらをまとめてセンサー機器) インタフェース②:制御回路とゲートウェイ

第2回「情報通信の進化の歴史」の要約

イメージ
1.送れる情報量が拡大した 2.家庭から個人へ、固定からモバイルへ、の動きがあった 3.蓄積伝送ができるようになった 4.情報通信網に人以外のモノが参加するようになった

「IoT実用化講座」主に応用を話題にしている回

28 トイレIoT ドアセンサーの応用 29 トイレIoT 人感センサーの併用 33 トイレIoT導入のメリット

「IoT実用化講座」主にハードウェアを話題にしている回

7 コントローラボードのいろいろ Arduino, Mbed, Raspberry Pi 8 コントローラボードを使いこなす(1) 9 コントローラボードを使いこなす(2) 39 IoT GW ラズパイによる

「IoT実用化講座」の中で無線を話題にしている回

5 近距離無線のいろいろ Z-Wave, EnOcean, Wi-SUN, etc. 6 長距離無線について 3G, 4G(LTE), Sig-fox, LoRaWAN 24 EnOcean over MQTT 31 BLE Bluetooth Low Energy 32 BLE 通信のトポロジー 34 BLE サーバとクライアント

YouTubeチャンネル「IoT実用化講座」をまとめます

YouTubeチャンネル「IoT実用化講座」の動画が増えてきてジャンルがあちこち飛んでいるのでここらで整理しておこうと思います。今回は順番に並べました。 (タイトルはサムネイルによる) 2018.12.28現在 IoT実用化講座1 IoT実用化講座 開講 2 情報通信の進化の歴史 (以下、繁雑になるので数字だけにします) 3 センサーの用途と分類 4 センサーからインターネット 5 近距離無線のいろいろ Z-Wave, EnOcean, Wi-SUN, etc. 6 長距離無線について 3G, 4G(LTE), Sig-fox, LoRaWAN 7 コントローラボードのいろいろ Arduino, Mbed, Raspberry Pi 8 コントローラボードを使いこなす(1) 9 コントローラボードを使いこなす(2) 10 プログラミング言語について 11 IoTでできること 12 通信プロトコルOSI参照モデル 13 通信プロトコル(2) TCP/IP 14 通信プロトコル(3) MQTT 15 I2CからMQTT 16 I2C制御(1) プロトコル 17 I2C制御(2) I2C over USB 18 I2C制御(3) text stream化 19 I2C制御(4) ターミナルからアクセスできた 20 外部MQTT Brokerにアクセス 21 I2CからMQTTまで 22 IoT実用化の壁 電源 23 プロトタイピングの実際 MQTT SubscriberにNode-REDを使う 24 EnOcean over MQTT 25 メインはPythonに決めた 26 「電源」の話の続き 27 「電源」の話が続きます 28 トイレIoT ドアセンサーの応用 29 トイレIoT 人感センサーの併用 30 Node-REDのススメ 31 BLE Bluetooth Low Energy 32 BLE 通信のトポロジー 33 トイレIoT導入のメリット 34 BLE サーバとクライアント 35 PoE GWの電源について 36 測距 測距センサーの原理と応用 37 測距 サンプルを動かしてみた 38 サーモパイル  原理と応用 39 IoT GW ラズパイによる

IoT gatewayをどう構築するか

イメージ
IoT gatewayをどう構築するかについてYouTubeにアップしました。

Raspberry Pi起動時にNode-REDを自動で開始する

以下、 Running on Raspberry Pi という記事によります。 === Pi起動時にNode-REDを自動で開始するには次のコマンドを使用できます。 sudo systemctl enable nodered.service

RN4871-I/RM130を入手しました

イメージ
早速火を入れました。 リセット後$$$を叩くとCMD>になるのでVを入れるとバージョンが出ます。 無事revision1.30であることが確認できました。

MacにMQTT Broker/Publisher/Subscriberをインストールする

mosquittoコマンドのインストール・使い方 すごくいい記事なんですが、最後の最後、画竜点睛を欠くので訂正しておきます。 mosquitto_sub -t "topic/path" mosquitto_pub -t "topic/test" -m "Hello2" --> /testではなくて/pathにします。 ここまで

pythonからOpenCV経由でキャプチャしてみる

pythonからOpenCV経由でキャプチャしてみる リンク先の下の方です。 $ sudo apt-get install python-opencv $ python Python 2.7.9 (default, Sep 17 2016, 20:26:04) [GCC 4.9.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> c = cv2.VideoCapture(0) >>> r, img = c.read() >>> cv2.imwrite('capture.jpg', img) True >>> 出てきたcapture.jpgを確認してみてください。

ラズパイにUSBカメラをつなぐ

guvcviewと言うソフトを使ってみました。 $ sudo apt-get install guvcview でインストール $ guvcview & で起動すると画面が現れます。次にどう使うべきかを考えます。

ラズパイをリモート制御する

ディスプレイやキーボード・マウスを外してラズパイを実運用し始めると、いざ設定を変更しようとした時またそれらをつなぐわけには行かなくなってきます。そこでリモート制御したくなるわけで、やり方を備忘録として残しておきます。 Raspberry PiをWindowsPCから操作する方法 【CUI・GUI】 CUIの場合、"ssh pi@192.168.X.XXX"等でリモート接続します。 GUIでMac側は"Microsoft Remote Desktop"と言うソフトを使いました。 現在のバージョンはVersion 10.2.4 (1434) 詳しくは以下を参照 Raspbian リモートデスクトップで外部から接続(mac)

PoEのススメ

本家のサイトでPoEのススメ を書いてみました。 PoE対応のゲートウェイでトイレIoTを実証実験してみませんか。 IoTトイレPoCキット2++(ドア開閉センサー(電池バックアップ有の2個)とPoE版ゲートウェイのセット)※PoC=Proof of Concept(概念実証、実証実験) ==== Raspberry Pi 3 model B+専用のPoE HAT単体でも発売開始しました。 Raspberry Pi PoE HAT - オフィシャルボード for Pi 3B+

サーモパイル センサーを動かしてみました

詳しくは IoT実用化講座 をご覧ください。

測距センサーを動かしてみた

YouTubeのチャンネル をご覧ください。

距離センサー(測距センサー)について

YouTubeのIoT実用化講座36 の内容を要約しました。 距離を測る意味 ①実際にセンサーと対象の距離を知る:例として河川の増水を知る ②人が居る居ない、人が近づいた遠ざかった、物が動いた等を知る 測距の原理 ①超音波やレーザの反射してくる時間から換算する ②三角測量による(赤外線LEDとPSDセンサーの組み合わせ) センサーを選択するには ①対象物の性質(固体か液体か等)や表面の状態(反射するか否か) ②反射を阻害する外乱のあるなし(自然光が入り込む、他の音波等) を事前に調査しておく必要がある。センサー自体はそれほど高価なものでもないので一通り実証実験してみることをお勧めしたい。

EnOceanのトイレセンサーをLINE Botで確認する

アイエンターという会社の方の記事です。 「EnOceanのトイレセンサーをLINE Botで確認する」

「IoTの台風の目!?EnOceanについて本気出して語ってみた」

NTTコミュニケーションズの方の記事です。 IoTの台風の目!?EnOceanについて本気出して語ってみた

ラズパイでBLEを使えるようにする

raspberry piのbluetoothを使えるようにする

ラズパイのNode-REDをupdateする

ラズパイに最初からインストールされているNode-REDでは「パレットの管理」と言うメニューが出てこないのでNode-REDをアップデートしました。 ここを参照 リブートしたら「パレットの管理」が出てきました。 ここまで

オリジナル(自分専用)のUUIDを得る

BLEでオリジナルのサービスやキャラクたりスティックを追加したい場合、UUIDが必要になります。こう言う場合、あれこれ悩むより ここで生成する と良いです。 以上

I2C対応のRN4020資料まとめ

RN4020 Data sheet(I2Cのピンが書かれている。ただしSDAとSCLが実際には逆らしいので要注意) Firmware 1.20 Release note(I2Cコマンドが書かれている) RN4020でI2Cを制御をした人のブログはこちら 最新のYouTubeチャンネルはこちら

BLE(RN4020)をMacで受信する

BLEの評価に着手しています。 >IoT実用化講座 手元にRN4020があったのでこれをアドバタイズさせてMacのアプリLightBlueで受信してみます。 LightBlueが立ち上がった状態でRN4020をアドバタイズさせてもconnectできず、RN4020をコマンド"A"でアドバタイズさせてからLightBlueを立ち上げるとPeripheralsに名前が出てきました。 これをクリックするとServices, Characteristics, Detailsが表示され、connectできました。Subcribe/Unsubscribe/Readも動いているようです。 以上、備忘録でした。

Pythonで行きます

YouTubeの方でアナウンスしましたが、 当社のメイン言語はPython で行きます。 最後まで悩んだのがJavaScriptを主力にしなくていいか、という点です。「主力」とは、習熟するために時間を割く、ソフトを書き溜める=資産を築くことになる、と言う意味です。 最後に出した結論の根拠は ・IoTシステムには今後、機械学習への対応が必要だと想像されるが、Pythonの方に分がありそうだ ・見栄えをリッチにするにはJavaScriptの方が良さそうだが、これは当社が追求すべきジャンルではなさそうだ。必要な時にやれば良いこと。今はセンサーと密なアルゴリズム開発に徹すべきと判断した と言う理由によります。 ここまで

EnOcean over MQTTの裏側

イメージ
シリアルノードの設定 MQTT publisherノードの設定(サーバ、ポートとトピックを入力する) 上記サーバ名を入力した右端の鉛筆ボタンを押して出てくるウィンドウの「接続」タブにサーバとポートを入力する 同じく「セキュリティ」タブにユーザ名とパスワードを入力する 更新ボタンを押し、デプロイボタンを押してノード下に「接続済」が表示されればOK

EnOcean over MQTT

イメージ
以下の構成で動作を確認しました。 EnOceanロッカースイッチ、ドアセンサー -> USB400J -> Mac/Node-RED(screen shotのUSB400Jで始まりMQTT nodeで終わる部分。表示はtopic=enoceanとなっている) -> CloudMQTT -> Mac/Node-RED(screen shotのMQTT node(表示はtopic=enocean)で始まりdebug node(表示はmsg.payloadになっている)で終わる部分。screen shotの右のpaneにmqttで受信した結果が表示されている)

MQTTは秩序破壊のきっかけになる

今まで技術に特化した記事を書いてきましたが、今回はビジネスについて少しだけ話をしておきます。 今やHTTP(S)の全盛の時代と言っていいと思います。HTTP(S)の覇者は、GAFA+Mだと思いますが、MQTTが急激にシェアを伸ばしてきており、GAFA+Mと言えども安閑とはしていられないと思います。 https://japan.zdnet.com/article/35124196/ 大胆に言えば、 「HTTP(S)は人対人の通信で利用してきたプロトコル」 なのに対して 「MQTTはIoTが利用するプロトコル」 だからです。 「MQTTを制する者がIoT時代を制する」 と言っても過言では無いのでは無いでしょうか。 というわけで当社はMQTTに全力を注ぐことを宣言します。 今回は以上です。