おもちゃ、家電、もろもろの修理の足跡と備忘録

色々と忘れるので、趣味のメモ

LUAを使ってAmbientでグラフ化

2020-03-08 14:50:01 | ESP8266DEVkitで遊ぶ
ESP8266 LUA/NodeMCUでAmbientでグラフ化しました。

Facebookのとあるグループで、LUAを使ってAmbient(https://ambidata.io/ )に書き込む方法があったら教えて、と以前投稿したのですが、Cのコードがあるから移植すればできるよね、とか情報を頂きました。投稿する前に調べたのですが、探し方が悪くでてきませんでした。いくつか教えて頂いた中に、shellでの例題を教えてくれた方がいらっしゃったので、それを例題にLUAで動かしてみました。
教えて頂いたshellは、githubのこちら。

httpでPOSTすれば良さげなので、LUAのCustomBuildの中にHTTPモジュールが入っていることを確認してやってみました。shellでの例題をみて、JSONって何さ、とかcurlってなんだろう、とかちょっと調べましたが、まぁ、そういうのがあるんだ、とかと納得しながら、Try and Errorで、mqtt向けに作ったLUA scriptを修正して、動くようにしました。

肝の部分は、こんな感じです。ご参考まで。
サーバでうまく取り込めると、responce_code: 200が返ってきます。
---------------
--[[
ESP8266 NodeMCU LUA言語でambient.ioへデータを送信する
事前にNodeMCUのCustome Buildされたものに、http moduleが
入っていることを確認
ambientの、d1-channelで気温、d2-channelで気圧。
Ambient関連の変数、JSON設定の前にtemp,baroに値を設定
--]]
-- for ambient
AmbientChannelId=xxxxx
AmbientWriteKey='xxxxxxxxxxxxxxxx'
AmbientHeader='Content-Type: application/json\r\n'
AmbientUrl='http://ambidata.io/api/v2/channels/'..AmbientChannelId..'/data'

-- IP関連の設定/NetworkのUpを確認した後
JSON='{"writeKey":"' .. AmbientWriteKey .. '","d1":"'.. temp ..'","d2":"'.. baro ..'"}'

http.post(AmbientUrl, AmbientHeader, JSON,
function(code, data)
if (code < 0) then
print("HTTP request failed")
else
print(code, data)
end
end)


2.4GHz帯を使ったおもちゃのチェック UHF信号テスタで信号モニタ

2020-03-01 18:29:19 | その他工作
 この頃のおもちゃには、これまでのおもちゃで使っていた周波数帯よりさらに高いWifiと同じ2.4GHz帯の電波を使ったいわゆるラジコンのおもちゃがあります。
 うちのおもちゃの病院にもたまに持ち込まれるのですが、送信機側が悪いのか、受信機側なのかの切り分けができないわけで、困りものです。世の中のおもちゃの病院では、2.4GHz帯に使えるAmpICを大陸から購入して信号モニタを作っている方々がいらっしゃいます。デバイスさえ入手できればなんとでもなるのですが、そのうちebayだかalliだかから買おうかと思っていました。
 先日、工具棚を整理していたら、昔地デジのときにアンテナ調整用に購入した日本アンテナ製のUHFテスターNL20というのが出てきました。UHFなので帯域的には400-700MHz近辺なのですが、高調波で2.4GHzでも拾わないかな、とダメ元でやってみたところ、これがビンゴ。ちゃんと拾うんですね。スマホの2.4GHz帯の信号をスマホの横で拾えました。
 その後蓋を開けて見てみたら、max2.9GHzに対応しているL帯の増幅ICが入っていて、あらあらやるじゃん、ということで今後これを使わせてもらおうと思います。使っているICは、μPC2749TBという石。細かいところまでは回路を追えないのですが、その後段にオペアンプが5段入っていてそれぞれでレベルを示すLEDを駆動していました。
 このテスタNL20は、すでにディスコンになっていますので買えませんが、もしかしたら、工具箱の隅っこに眠っているもので2.4GHz帯の信号モニタに使えますよ、というお話でした。LED表示しか無いので、そのうちLEDの回路の辺りから信号を引っ張りだして音に出す回路でも追加してみようと思います。