head

2015年11月29日日曜日

LPC810のオンラインコンパイラで書込み編、Lチカも


NXP社のLPC810M02FN8 の書込み的な内容です。

[概要]
LPC810M02FN8
以前購入していた、マイコンで
使用方法が不明で放置ぎみでしたが
少し時間取れたので調べてみました。
結果として、オンラインコンパイラで使用できそうです。
使う理由としては、安価で, ATTinyなどAVR系のMCU(ほぼ同じサイズ)
と比較してRAM多めなので、使える場面はありそうです。

[仕様]
ARM Cortex-M0 32bit マイコン
30 MHz
ROM 4KB
RAM: 1KB
DIP8
GPIO6

短所:
ADCが無い。アナログ入力が不明でした。

長所:
安い(80円で購入)
小型, 8pin

# オンラインコンパイル
1) Platform= NXP LPC800-MAX を選択
このままビルドすると、NGみたいなので


2) va009039 さんの、プロジェクトをインポートします。
https://developer.mbed.org/users/va009039/code/lpc810_helloworld/

3) 機能の実装は、main.cppに追加、必要なファイル追加で
可能と思います。

# 書込み
1) 方法はいろいろありそうです、とりあえず Hex形式に変換しました。

bin2hex が一般的みたいですが、
win7の場合、下記に記載されている[HEXファイルツール] を使用しました。
https://developer.mbed.org/users/ytsuboi/notebook/getting-started-with-mbed-lpc1114-ja/

[DL先] http://home.att.ne.jp/wind/room_mario/soft/soft.html
GUI1でも操作可能みたいですが、コマンドラインで変換
lpc810_helloworld_LPC812.bin の場合。
HexTool lpc810_helloworld_LPC812.bin /B lpc810_helloworld_LPC812.hex /H

[lpc810_helloworld_LPC812.hex] が出力されます

2) 書込みTOOL, [Flash Magic], UART-シリアルアダプダでPCから書込み
http://www.flashmagictool.com/

秋月さんのページの、[LPC810書込みの例、参考資料]
http://akizukidenshi.com/catalog/g/gI-07191/
に従って配線し、書込みます。
5番ピンを7番ピン(GND)に結線すると、ISPモード(書込み可能)
になるようです。


[step1]
Com port: シリアルアダプダのPORT
Baud Rate : 9600

[step2]
[Erase all Flash+Code Rd Prot] にチェック入れる

[step3]
Hex File 指定

[Start]押す

# 概観
8pinで、かなり小さいですね。


# まとめ
ROMも少ないので、増えないように注意が必要ですね、
RAMも消費しないように工夫すれば、小型なので活躍できるかもしれません。

# 関連まとめ [IoT な電子工作まとめ]
http://knaka0209.blogspot.jp/2015/11/iot-matome.html



2015年11月28日土曜日

Ichigojam連携してみました、電光掲示板(LED Dot Matrix)


前回の、電光掲示板の続編となります
Ichigojamと接続して、文字を表示してみます、

[概要]
ネット接続の機能は、無いのですが、
Ichigojamのbasicで、文字の設定ができるので、
ファームの書換必要なく、文字の変更可能です。

今回は、専用モニタを購入してなかった為、
事前に、pcからUART経由でbasicを転送保存 0番ファイル(SAVE 0)しておき、
自動起動(電源投入時にボタン(BTN)押す)で、
マトリクスに、文字シリアル送信してます

*)連続稼動時は、PCに接続していません。

UART通信速度=115200
文字数を固定で、10文字としています。

#動画

#配線
電光掲示板(1)と同じ。
http://knaka0209.blogspot.jp/2015/11/matrix-1.html

#Basic

# マトリクス制御ドライバ (mbed ファーム), Ichigojam用
https://github.com/kuc-arc-f/dot_matrix_i

*) テストしたのは、マトリクス横2連結までです。

#関連の記事
IoT型電光掲示板の製作、MQTT活用 (WIZ550io版)
http://knaka0209.blogspot.jp/2015/11/matrix-1.html

黄色(LED Dot Matrix + LPC1114FN28)も追加。IoT型電光掲示板(2)
http://knaka0209.blogspot.jp/2015/11/matrix-2.html

ニュース(タイトル)の配信機能も追加しました。電光掲示板(4)
http://knaka0209.blogspot.jp/2015/11/matrix-4.html


# 関連まとめ [IoT な電子工作まとめ]
http://knaka0209.blogspot.jp/2015/11/iot-matome.html

2015年11月27日金曜日

ニュース(タイトル)の配信機能も追加しました。電光掲示板


前回の[IoT型電光掲示板]記事の続編となります、
外部のニュースサイトRSS(英語)を解析し、デバイス側に配信する仕組みを追加しました。

[概要]
pythonのHTTPライブラリ(requests)を使用し、RSS取得、解析
MQTT経由でPubします。
IoT側の仕組みは前回と同じ

# 動画

# 準備
1) python HTTP ライブラリ (requests)
pip install requests

2) mysql DB作成し、一時保存用のTABLEを作成しておきます。
========================
CREATE TABLE IF NOT EXISTS t_news (
  id int(11) NOT NULL AUTO_INCREMENT,
  title   text DEFAULT NULL,
  created datetime DEFAULT NULL,
  modified datetime DEFAULT NULL,
  PRIMARY KEY ( id )
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=248 ;
========================


# Github
https://github.com/kuc-arc-f/dot_matrix_1/tree/master/mqtt_pub_2

1) タイトルの10件程を配信
2) 各100文字を配信
*) 表示ドライバ側の制限で、各文節20文字程度に分割送信。

# 収集系プロセス
https://github.com/kuc-arc-f/dot_matrix_1/blob/master/mqtt_pub_2/getNews/getNews.py

ニュースRSS解析、DB登録

# 配信プロセス
https://github.com/kuc-arc-f/dot_matrix_1/blob/master/mqtt_pub_2/matrixPub_6n/matrixPub_6n.py

DBからデータ取得、MQTT-PUB配信
SUBは、デバイス側(ATmega328)から実行されます。

# まとめ
他のRSSサイトなども応用し、便利な使い方ができるか
検討したいと思います。


#関連の記事
IoT型電光掲示板の製作、MQTT活用 (WIZ550io版)
http://knaka0209.blogspot.jp/2015/11/matrix-1.html

WIZ550io+ATMega328で IoT製作、MQTTも
http://knaka0209.blogspot.jp/2015/10/wiz550io-1.html

Install mosquitto (over websockets) on Raspberry PI 2
http://knaka0209.blogspot.jp/2015/10/mqtt-3.html

MQTT 活用編。IoT型スイッチ Arduino EtherNet
http://knaka0209.blogspot.jp/2015/10/mqtt-2.html


# 関連まとめ [IoT な電子工作まとめ]
http://knaka0209.blogspot.jp/2015/11/iot-matome.html

2015年11月26日木曜日

天気予報の配信機能を追加しました。電光掲示板

前回の [ IoT型電光掲示板 ] 記事の続編となります、
外部の天気予報APIデータ(英語)をデバイス側に配信する仕組みを追加しました。

[概要]
天気予報APIアクセス用のpythonライブラリを使用し、MQTT経由でPubし
IoT側の仕組みは前回と同じ


broker: LAN上の RasPi 2
Pub: python の配信プロセス
Sub : IoTデバイス

# 動画

# 準備
1) python ライブラリ (Yahoo! Weather)
sudo apt-get install python-pywapi

2) mysqlでDB作成し、 一時保存用のTABLE を作成しておきます。
========================
CREATE TABLE IF NOT EXISTS t_wdat (
  id int(11) NOT NULL AUTO_INCREMENT,
  CITY   text DEFAULT NULL,
  COND text DEFAULT NULL,
  TEMP_H int(11) DEFAULT NULL,
  TEMP_L int(11) DEFAULT NULL,
  created datetime DEFAULT NULL,
  modified datetime DEFAULT NULL,
  PRIMARY KEY ( id )
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=248 ;
========================


# Github

https://github.com/kuc-arc-f/dot_matrix_1/tree/master/mqtt_pub

# 収集系プロセス
https://github.com/kuc-arc-f/dot_matrix_1/blob/master/mqtt_pub/getWdat/getWdat.py

定期間隔で、天気APIデータ取得、DB登録します。
テストは tokyo (地域 ID )を指定
===
#tokyo
result = pywapi.get_weather_from_yahoo('JAXX0085')

# 配信プロセス
https://github.com/kuc-arc-f/dot_matrix_1/blob/master/mqtt_pub/matrixPub_4w/matrixPub_4w.py

DBから天気予報データ取得し、MQTT配信(Pub)実行します。

# まとめ
今回は、
pythonの天気ライブラリのおかげで、カンタンに配信機能を実装できました。
クラウド側APIを利用すると、ガジェット的な表示でも。
応用できると便利ですね。

# 参考の記事
http://azunobu.hatenablog.com/entry/2015/05/10/144818

#関連の記事
IoT型電光掲示板の製作、MQTT活用 (WIZ550io版)
http://knaka0209.blogspot.jp/2015/11/matrix-1.html

WIZ550io+ATMega328で IoT製作、MQTTも
http://knaka0209.blogspot.jp/2015/10/wiz550io-1.html

Install mosquitto (over websockets) on Raspberry PI 2
http://knaka0209.blogspot.jp/2015/10/mqtt-3.html

MQTT 活用編。IoT型スイッチ Arduino EtherNet
http://knaka0209.blogspot.jp/2015/10/mqtt-2.html


# 関連まとめ [IoT な電子工作まとめ]
http://knaka0209.blogspot.jp/2015/11/iot-matome.html





2015年11月23日月曜日

IoT な電子工作まとめ #IoT

=========================================
IoT/ M2M 関連をメインに、DIYな電子工作、
IoTガジェット的なコンテンツを全般に掲載したいと思います。
=========================================


IoT型電光掲示板 (LED Dot Matrix + LPC1114FN28)



天気予報の配信機能を追加しました。電光掲示板

ニュース(タイトル)の配信機能も追加しました。電光掲示板

時刻/天気/ニュースのMQTT配信機能も追加してみました。

Ichigojam連携してみました、電光掲示板(LED Dot Matrix)

年末飾りLEDも追加、Ichigojam連携(2) LED Dot Matrix

マルチバイト(日本語)表示も追加しました。IoT型電光掲示板(8)

PCB基板に実装してみました。IoT型電光掲示板

PCB基板(第二版)に実装してみました。IoT型電光掲示板(11)

ENC28J60+ATmega328P版、IoT型電光掲示板(10)

ドットマトリクス+ esp8266モジュール

天気RSSの表示、マトリクスでIoT



表示系デバイス関連
7セグLEDでデジタル温度計、IoTも

7セグ4桁LEDで 時計/デジタル温度計、IoTも

8mm RGB LED (OST4ML8132A)+LPC1114FN28 お試し編

RGB LED ランプも追加、デジタル温度計

デジタル温度計/時計 + RGB LED ランプ (おまけ編)

RGB LED  +LPC810 小型ランプ

RGB LED  +LPC1114FN28版 RGBランプ (おまけ編)

PCB基板実装編、デジタル温度計 ( 7セグ- 2桁 )

PCB基板実装、時計/温度 ( 7セグ-4桁 )

Deep Sleep 設定編

OLED+ BME280で、天気情報の表示

esp8266で、温湿センサー シールド風の基板

I2C ADC MCP3425で、アナログ入力編

Deep Sleepで OLED(有機EL)+DHT11 (電池駆動)

Deep Sleepで、7セグ+ LM60BIZ センサー、電池駆動

5V DC/DCコンバータで、esp8266 電源供給。

Moisture Sensor(Soil Humidity Hygrometer Sensor) お試し編。

Deep Sleepで、LCD AQM0806+LM60BIZセンサ

OTA お試し編


esp8266 +MCU 連携

試作レビュー編。mkuBord-44

SoftwareSerial受信、MQTT連動サンプル等を追加しました。 mkuBoard-44

少し小さめ。 アナログ最大4ピン 基板の試作してみました [mkuBoard-45]

アナログ+OLED(SSD1306) 作例を追加しました。 mkuBord-45

Moisture Sensor+ OLED(SSD1306) deepSleep mode, with Atmega328P [ mkuBoard-44 ]

NTP Clock(OLED) + analog Sensor(LM60BIZ) with ATmega328P (BETA version)

DeepSleep ,NTP Clock(OLED) + analog Sensor(LM60BIZ) with ATmega328P

Analog Sensor(Moisture / Temperature) +NTP Clock , with ATmega328P [ mkuBoard-44 ]

dht11 Sensor +NTP Clock , with ATmega328P  [mkuBoard-44]

Cheap ,RGB LED +Sensor +deepSleep, with Atmega328P

TFT LCD(ILI9341)+アナログセンサ

Cheap, NOKIA 5110+ Analog Sensor


Alexa + esp8266 関係

Alexa + IoT (esp8266) お試し編

Alexa + IoT (esp8266) Custom Skillの追加 (1)

Alexa + IoT (esp8266) Custom Skill(2) IoT連携


esp32 関係
ESP32 組立て編

ESP32 +OLED お試し編

ESP32, Deep Sleep テスト

ESP32 電力測定 ,3V3 2A

ESP32 電力測定 ,3V3 1.5A



Raspberry Pi 連携

Raspberry Pi 連携、電光掲示板

その他
LPC810M02FN8のオンラインコンパイラ活用、Lチカも

MQTT 関連



# 関連まとめ[ アグリな電子工作 開発者向けまとめ ]

黄色(LED Dot Matrix + LPC1114FN28)も追加。IoT型電光掲示板(2)



前回の 赤LED IoT型電光掲示板と似ていますが
色の異なるLED Dot Matrix( 別の型式 )を入手して、組み合わせてみました。

[概要]
LED側の仕組み、回路、ドライバ(マトリクス制御ファーム)
そのまま使い、
IoT側の仕組みも同じ、(前回のMQTTでWiz550io+ ATmega328P版)


# 部品 - 黄色
黄色ドットマトリクスLED 8x8ドット OSL641501-AY / 200[en]

LPC1114FN28 マイコン/ 180[en]
ピンソケット /抵抗 100ohm/ 配線など

# 部品 - 青色 (青は少し高めでした)
青色ドットマトリクスLED 8x8ドット OSL641501-AB / 300[en]

LPC1114FN28 マイコン/ 180[en]
ピンソケット /抵抗 100ohm/ 配線など

*) 調達ミスで[緑]を入手した為、動画は緑も使用しています。
予定では青を2連結の予定でした。

*) 関連URL/version 等は、執筆時点を記載しています

# 黄色 -概観、動画


# 青系(青緑) -概観、動画




# まとめ
コモン方向が同じ(Row側)であれば、同じFW( ファーム )で色の異なるLED型式
の組み合わせも可能となり、基盤側 ( ピンソケ+MCU ) が少なくても、
LED差し替える事により、色の変更が可能でした。
*) LED足をハンダづけする場合は別


#関連の記事
WIZ550io+ATMega328で IoT製作、MQTTも
http://knaka0209.blogspot.jp/2015/10/wiz550io-1.html

Install mosquitto (over websockets) on Raspberry PI 2
http://knaka0209.blogspot.jp/2015/10/mqtt-3.html

MQTT 活用編。IoT型スイッチ Arduino EtherNet
http://knaka0209.blogspot.jp/2015/10/mqtt-2.html


# 関連まとめ [IoT な電子工作まとめ]
http://knaka0209.blogspot.jp/2015/11/iot-matome.html


2015年11月19日木曜日

IoT型電光掲示板の製作、MQTT活用 (WIZ550io版)


LED Dot Matrix (8x8) をIoTデバイスと組み合わせて、小型の電光掲示板
的なガジェット風のデバイスを検討してみたいと思います 

[概要]
IoT側の仕組みは、前回のMQTTでWIZ550io版
そのまま使い、周辺デバイス(ディスプレイ側)にLEDマトリクス
をUART経由で接続、文字を送信します。
クラウド上のweb画面や、定期送信プロセスから、リアルタイムに
文字の送信ができるように設計します。

LED マトリクス側:
Row側アノードコモンを選択してます。 横方向に連結
横スクロール表示
http://akizukidenshi.com/catalog/g/gI-05163/


[MQTT 構成]
broker : LAN上のmosquitto
publish(Pub) : IoT device
subscribe(Sub) : Browser Chrome

*)今回は、外部brokerの再接続が遅い時があり、自前(LAN上の)のMQTTサーバ
 環境にpub/subしてます。
 (クラウド上に設定すれば、外出先から表示内容の設定も可能のはずです。)

*) 関連URL/version 等は、執筆時点を記載しています

# 動画
https://youtu.be/xbA193WpA_Y

# pub (web画面)

表示する文字を入力し、pubします。

# 部品
赤色ドットマトリクスLED 8x8ドット OSL641501-ARA / 200[en]

LPC1114FN28 マイコン/ 180[en]

抵抗 100 ohm
ピンソケット 26P (8+ 8+ 10)
配線(ポリウレタン線 0.29mm )など

共通基盤(各マトリクスに電源供給etc)
ブレボ(ミニ) / 130[en]
コンデンサ 1000MF
*) 電源供給が足りる場合は、コンデンサは不要と思います。

# pin配線
正面から見て、
マトリクスの[突]目印を
左下に向けた配置を基準にしてます。

基盤を使わずに
マトリクス裏側に、マイコンをダイレクト配線

表面側にマイコン実装しない為、
裏側から見て、LPCのピン配置が逆になる点も
注意が必要です。



*) 電源、GND, UART 以外
[matrix] - [LPC1114]
1 (anode) -  dp26
2 (anode) -  dp25
3 (Cathode)- dp1
4 (Cathode)- dp2
5 (anode)  - dp27
6 (Cathode)- dp28
7 (anode)  - dp18
8 (anode)  - dp17

9 (anode)  - dp14
10(Cathode)- dp11
11(Cathode)- dp10
12(anode)  - dp9
13(Cathode)- dp6
14(anode)  - dp5
15(Cathode)- dp4
16(Cathode)- dp13

*) IoT側とのUART配線
ATmega328-TXを LPC-RX(1台目)
LPC-TX(1台目) - LPC-RX(2台目)
LPC-TX(2台目) - ATmega328-RX

# pinout - LPC1114FN28
# 配線 - 裏側の図
ゴチャゴチャとした配線ですね、、
*) 配線を細めにした為、マイコンが空中で フラつく為。
対策も検討したいところです




# コード関連
1) Fontライセンス:
今回 fontデータ(8 bit pattern)は、作成しておらず
検索した、関連プロジェクトを参考にしております。
Font ライセンスについては、下記ポリシーに従う事としてます。

https://developer.mbed.org/users/Sim/code/FontTest3/
http://www.geocities.jp/littlimi/misaki.htm

2) 表示可能な文字は、
英数文字
一部の記号:ASCII コード表の下記範囲の記号の一部
開始コード=0x20
終了コード=0x7A

*) 送信する最大文字数= 20文字(半角)
*)今回は、日本語は対象外です

3) Repository:  Github
https://github.com/kuc-arc-f/dot_matrix_1

[/mbed] mbed(LEDマトリクス制御ドライバ): bin形式
[/arduino] arduino: IoT側MQTT通信、マトリクス文字送信
[/test] テスト用
web画面: pub機能(文字送信用)


# テスト、文字、時刻の自動配信(Pub)
配信スクリプト追加してみました。 (paho-mqtt python)

Git:
https://github.com/kuc-arc-f/dot_matrix_1/blob/master/test/python/matrix2_R.py

[動画]
https://youtu.be/5lUYyEFhZlk

===== update : 2015-11-22 ====
# ブレボ版の配線図の追加
# テストの図

===== update : 2015-11-23 ====
# 配線図 - ユニバーサル基盤(C タイプ): 1個目 - 左寄せ(正面から見て)
1) 抵抗:全て表面側に実装。
上側: LED-PIN= 9,12,14 は、LED下 (LPCの上側に)
下側: LED-PIN= 1,2,5,7,8  LPCの右側
2) LED足16本は、ピンソケ(上=8本、下=8本)に装着し、
ピンソケをU基盤に実装する。

*) 左寄せ にするのは、2個目のLED右側面を密着させる為です。






# まとめ
1個目は、ブレボなどに配線して、動作確認後
同様の結線を
ユニバーサル基盤や、上記のようなダイレクト配線
で組み立てる。みたいな手順が確実かもしれません

# 参考の記事
http://playground.arduino.cc/Main/DirectDriveLEDMatrix

http://kousaku-kousaku.blogspot.jp/2008/07/arduinoled.html

http://www.geocities.jp/bokunimowakaru/diy/arduino/matrix_led.html

https://developer.mbed.org/users/Sim/code/FontTest3/

http://fukuno.jig.jp/822


#関連の記事
WIZ550io+ATMega328で IoT製作、MQTTも
http://knaka0209.blogspot.jp/2015/10/wiz550io-1.html

Install mosquitto (over websockets) on Raspberry PI 2
http://knaka0209.blogspot.jp/2015/10/mqtt-3.html

MQTT 活用編。IoT型スイッチ Arduino EtherNet
http://knaka0209.blogspot.jp/2015/10/mqtt-2.html

# 関連まとめ [IoT な電子工作まとめ]
http://knaka0209.blogspot.jp/2015/11/iot-matome.html



2015年10月30日金曜日

MQTT アプリ実装編、paho-mqtt (python版)


以前の、センサ値のweb版リアルタイム表示に加えて
過去データの表示方法も検討したいと思います。

paho-JS版のリアルタイム表示は、便利なのですが。
過去データを表示するには、別途実装が必要かと思います。

今回は、
Subscribe 側サーバに、paho-python ライブラリを使用し、
mysql データベースに書きこみます。
サーバ環境は、前回 LAN上に構築した mosquitto(websockets版)

IoTデバイス側は、以前の wiz550io版
約2秒間隔で、センサ値を送信

# 準備 ライブラリ等
paho-mqtt python
sudo pip install --upgrade paho-mqtt

Mysql ライブラリ
sudo apt-get install python-mysqldb

# db作成し、登録用のテーブル作成しておきます。

# Sub側の処理
paho-mqtt (python) の sub.py を拡張して、実装していきます

pythonの常駐プロセスを起動しておき、pubデータを監視

Git:
https://github.com/kuc-arc-f/python-mqtt-sub-2

起動方法:
python sub2db.py

# pub/subのルール等
今回は下記としてます。
pub: デバイスに対して、1個の  Topicを割り当てる
例)
item/sensor-1 : 1台目
item/sensor-2 : 2台目
item/sensor-3 : 3台目

sub: topic範囲を指定する(対象のデバイス分)
item/#

*)web側のsubは、1台毎 topic(1 topic)を指定する。

# db登録
https://github.com/kuc-arc-f/python-mqtt-sub-2/blob/master/python-mqtt-sub-2/sub2db.py

on_message (イベントハンドラぽい)に、db処理を追加。
=======================
def on_message(client, userdata, msg):
clsSen= com_sensor.sensorClass()
print("on_message:topic=" + msg.topic+" ,pay="+str(msg.payload))
clsSen.saveSensor( msg.topic, str(msg.payload))
=======================

# テスト
python側常駐プロセスがsubすると、DB登録されます。

*) phpmyadmin で確認。
*) 別のクライアントIDで、前回のwebリアルタイム表示も可能(ログ)


登録側のデバイス( 参考 )



#まとめ
*) MQTT経由でDB登録まで完了できたので、表示系の実装はカンタンかと思います。
*) 短い周期のデータ書込みで、接続デバイス数が多ければ
  DB負荷も重たいので、工夫が必要かと思います。
  pubする間隔と長くすると、リアルタイム性が低くなるため注意も必要
*) クラウド側に設定すると、同様に過去データ取得/リアルタイム表示可能

# 関連の記事
mqtt 準備
http://knaka0209.blogspot.jp/2015/10/mqtt-1.html

wiz550 デバイス
http://knaka0209.blogspot.jp/2015/10/wiz550io-2.html

mosquitto(websockets版)
http://knaka0209.blogspot.jp/2015/10/mqtt-3.html

# 開発者向けのまとめ記事
http://knaka0209.blogspot.jp/2015/04/agri.html



2015年10月29日木曜日

Install mosquitto (over websockets) on Raspberry PI 2


以前に、準備編でapt-getでの mosquitto 関連のインストール記事を記載しましたが
今回は、LAN上に自前でMQTT サーバ (websocket対応)環境を構築したいと思います。
対応方法を調査しましたが 結構面倒な為。メモです
ソース取得して、コンパイル必要です。

OS: Linux (debian wheezy), Raspberry PI 2

[MQTT]
mosquitto 1.4.2
port MQTT: 1883
port Websocket : 8080

*) 既存のmosquittoを削除後、インストールしています。
*) 試しにLAN上にインストールする為、MQTT アカウントの認証を省略しています。

# 1)関連パッケージ
$ sudo apt-get update
$ sudo apt-get install build-essential python quilt devscripts python-setuptools python3
$ sudo apt-get install libssl-dev
$ sudo apt-get install cmake
$ sudo apt-get install libc-ares-dev
$ sudo apt-get install uuid-dev
$ sudo apt-get install daemon

# 2) libwebsockets
$ wget http://git.libwebsockets.org/cgi-bin/cgit/libwebsockets/snapshot/libwebsockets-1.4-chrome43-firefox-36.tar.gz
$ tar zxvf libwebsockets-1.4-chrome43-firefox-36.tar.gz
$ cd libwebsockets-1.4-chrome43-firefox-36
$ mkdir build
$ cd build
$ cmake ..
$ sudo make install
$ sudo ldconfig
$ cd

# 3) mosquitto 1.4.2
$ wget http://mosquitto.org/files/source/mosquitto-1.4.2.tar.gz
$ tar zxvf mosquitto-1.4.2.tar.gz
$ cd mosquitto-1.4.2

config.mk 修正します。
WITH_WEBSOCKETS:=no
[修正後]
WITH_WEBSOCKETS:=yes
$ make

===update 2015-10-29 =====
$ sudo make install
$ sudo ldconfig

# 4) mosquitto.conf ,setting
ホームに、mosquitto.conf を作成 (下記の内容)

######
pi@raspberrypi:~$ more mosquitto.conf
listener 1883

listener 8080 127.0.0.1
protocol websockets
######

# 5) rebootします。

# 6) mosquitto起動。
pi@raspberrypi:~/work/mosquitto-1.4.2$ pwd

/home/pi/work/mosquitto-1.4.2

*) 今回は、src フォルダで起動。
src/mosquitto -c ~/mosquitto.conf  -d

mosquitto_sub が動作しない場合がありました。
*)共有ライブラリの設定で解決しました。
===update 2015-10-29 =====
/usr/local/sbin/mosquitto -c ~/mosquitto.conf  -d



*) 起動後は Sub/Pub できました、
ブラウザからのアクセスも可能。(paho-js)

# 参考の記事
http://www.xappsoftware.com/wordpress/2015/05/18/six-steps-to-install-mosquitto-1-4-2-with-websockets-on-debian-wheezy/comment-page-1/

# 関連の記事
http://knaka0209.blogspot.jp/2015/10/mqtt-1.html

# 開発者向けのまとめ記事
http://knaka0209.blogspot.jp/2015/04/agri.html


2015年10月27日火曜日

WIZ550io+ Arduino Pro miniで、MQTT活用

前回のATMega328版と似ていますが
有線LANモジュール[ WIZ550io ]、Arduino Pro mini 3.3V の構成で
IoTデバイス検討したいと思います。


[概要]
前回の ATMega328+有線LAN 構成よりは、高めですが
小型のマイコンボード(Pro mini)との組み合わせとしてます。

テストは、MQTT- arduino EtherNet版のリレー制御
と似ていますが、スイッチ画面はwebで作成し
LEDのON/OFF としています。

[MQTT 構成]
broker : test.mosquitto.org
publish(Pub) : Chrome Android
subscribe(Sub) : IoT device


*) 前回と同様、テスト用の broker(MQTT Server), pahoのJSライブラリ等
を使用。

*) 関連URL/version 等は、執筆時点を記載しています

# 部品
arduino Pro mini 3.3V / 1243 [en]
WIZ550io v1.1 有線LANモジュール/ 1944[en]

降圧 3.3レギュレータ / 100[en]
470 マイクロF コンデンサ
マイクロUSB(メス) / 200[en]
# 配線


[Wiz550io] - [ Pro mini ]
MOSI - D11
MISO - D12
SCLK - D13
SCSn - D10

3V3 - 3V3
GND - GND
D7 に、LED接続

# 準備編
arduino-adk 1.6.5

以前のatmega328 編 と同様の為、詳細は省略します。

W5500 EtherNet
mqtt-arduino
ライブラリの追加が必要

# code
macアドレスは、wiz550 基盤に記載されていたアドレスに
書き換えました。

*) topic は、web側と合わせる事が必要です。
atmega328 編 と同様じの為、詳細は省略します。

# テスト
web画面( chrome Android )から、ON/OFF操作します。

ON 押すと、LED点灯します。
OFF押すと、消灯。

# センサ値のPublish も試してみました。
前回と同じスケッチ
表示: chrome Android
A0 に光センサ追加。



# 参考の記事
arduino-mqtt - lib

paho-mqtt javascript

# 関連の記事
MQTT 活用編。IoT型スイッチ Arduino EtherNet

# 開発者向けのまとめ記事

2015年10月22日木曜日

WIZ550io+ATMega328で IoT製作、MQTTも

有線LANモジュール[ WIZ550io ]、ATMega328P-PU の構成で
低価格なオリジナルのIoTデバイス検討したいと思います。

[概要]
WIZnet社製W5500を搭載したモジュール。SPI通信
100BaseTXで、性能的には高そうです。
前回の ENC28J60 有線LANよりは、高めですが
他の部品コストを下げて、低価格の構成できればと思います。

と似ていますが、スイッチ画面はwebで作成し
LEDのON/OFF としています。

[MQTT 構成]
broker : test.mosquitto.org
publish(Pub) : Chrome Android 
subscribe(Sub) : IoT device

*) 前回と同様、テスト用の broker(MQTT Server), pahoのJSライブラリ等
を使用。

*) 関連URL/version 等は、執筆時点を記載しています

# 部品
WIZ550io v1.1 有線LANモジュール/ 1944 [en]
atmega328P-PU (ブートローダ書き込み済) / 360 [en]
降圧 3.3レギュレータ / 100[en]
470 マイクロF コンデンサ
マイクロUSB(メス) / 200[en]

# 配線

[WIZ550io] - [atmega328]
MOSI - D11
MISO - D12
SCLK - D13
SCSn - D10

3V3 - 3V3
GND - GND

# 準備
arduino-sdk 1.0.5

# W5500 ライブラリの追加
https://github.com/Wiznet/WIZ_Ethernet_Library
README に従って、ライブラリ追加します。
https://github.com/Wiznet/WIZ_Ethernet_Library/blob/master/README.md

*)上記の追加後、webClient等のサンプルを実行して
正常に通信できる事を確認したほうが、良いかもしれません。

# mqtt ライブラリの追加 (pubsubclient-2.3)
http://knolleary.net/arduino-client-for-mqtt/
[pubsubclient-2.3.zip] が直接インポートできませんでした、
下記の対策行いました。

[pubsubclient] の名前でフォルダ作成しておきます
pubsubclient-2.3.zip 解凍し、
src 内のファイルを上記の [pubsubclient]にcopy
examples を[pubsubclient]にcopy

zip圧縮し、SDK から[Add Library]
([スケッチ]-[ライブラリを使用]-[Add Library])

# atmegaの下記書込みは、前回の記事を参考
http://knaka0209.blogspot.jp/2015/10/ATmega328-1.html

マイコンボード = ATMega328P/ Int.8MHz
書込装置= arduino as ISP

# code
macアドレスは、基盤に記載されていたアドレスに
書き換えました。

スケッチは、前回の MQTT - arduinon EtherNet
と同じ。詳細は省略します。

*) MQTT - topic は、web側と合わせる事が必要です。

# テスト
web画面( chrome Android )から、ON/OFF操作します。
ON 押すと、LED点灯します。
OFF押すと、消灯。


# センサー値のPublish追加しました。( MQTT )
上段はmqtt - Sub版でしたが、
Publish版でセンサー値の送信追加してみました。(約 2秒間隔)
表示版は、前回と同様の paho-JSライブラリで表示(ロギングのみ)
A0 に光センサー追加。


# code : Arduino SDK
topic を、web側とあわせます。

*) web表示側のコードは前回とほぼ同じの為、省略

# web 画面


# ケースも作成してみました。DIY編

加工は側面に穴あけ。だけですが、、
ドリル工具、精密ニッパで穴サイズを調整。

# 材料
プラケース / 100[en]
*) 100均さまで探したケース(ハガキ用らしい)
少し大きめでしたw (基盤に対して)

# 反対側の図
 手作業での穴あけが、ギザギザでいまいち。


# http センサ値の送信も追加しました。
上段での、MQTT 通信に加えて、http 送信機能も追加しました。

# code : arduino SDK
WIZ550io_arduino_http_1.ino

サンプルの webClient を参考に実装しています。
*) sdk :[ファイル]- [スケッチの例] -[EtherNet]-[webClient]
macアドレスは、wiz550io 基盤に記載されたアドレスを入力。


# BaaS に転送して、センサ値の保存

# グラフの描画も


# まとめ
正直、
開発ボード使用して(UNOとか) 開発したほうが はるかに楽です。
抵コスト化等で、複数製作する場合は検討しても良い構成。
MQTT経由のスイッチ応答性は速くて、
使える範囲かと思います。

# 参考の記事
arduino-mqtt - lib

paho-mqtt javascript

# 関連の記事
MQTT 準備編。Arduino EtherNet, paho-MQTT(over WebSocket)
http://knaka0209.blogspot.jp/2015/10/mqtt-1.html

MQTT 活用編。IoT型スイッチ Arduino EtherNet

ATmega328P-PU に、スケッチを書き込む (ARDUINO as ISP)

# 開発者向けのまとめ記事


google colaboratory お試し編 、GPUも使える機械学習の環境構築

前回続き、機械学習の関連となります。 開発環境まわりの内容となり。先人様の情報を元に調査しました。 google colab(google colaboratory) を試してみました。機械学習系の いくつかのライブラリがインストール済みで、 クラウド上で、ある程度機械学...

AD-parts

Shop
Bluetooth搭載
ベース基板

Social