このブログを検索

ラベル マイコン の投稿を表示しています。 すべての投稿を表示
ラベル マイコン の投稿を表示しています。 すべての投稿を表示

2021/08/22

ASUS Chromebox 4

 Amazonをwatchしてると i7とCeleron版が無くなってきたようなので かねてよりwhishlistに入れてたi5版を購入した。chromebox5だとまた2年以上先になるだろうから。購入したChromeboxとしてはacer chromebox3(i3版)に続く 2台目。chrome os機としては7台目。chromeboxだとメモリやストレージは交換可能。
 環境移行。chrome osなのでgoogleアカウントでログインすればアプリや設定は持ってくる。Amazonなどは1度ログインしてやる必要があるが。Linux部分も2時間かからず完了。Debian共通部分, gcloud, ArduinoIDE, ESPtoolsやampy, pyCharm, VScode。 VScodeのpymakrがシリアルでエラー出してて設定完了できてない。なので 代わりにThonnyを入れておいた。
メモリの増設やM.2SSDの増量は今は必要ないかな。Linuxの細かいツール類は順に必要な時に入れていこう。ffmpegも入れなきゃ。久々にmicropythonの開発やろうかな。

2021/03/21

watt表示機の作り変え計画

 最近make系をしてないので活を入れる為に、電力スマートメーターを読み出して表示してるのを作り変えようと計画。
 いま自宅でうごいてるのはRaspberryPi3とロームのBP35A1を使ってpythonでやってる奴。これの前に動かしていたのはマイコンはmbed LPC1678でC++で書いた奴。
 で、次はマイコンははESP32系でmicroPythonでやろうと。M5StickCplusがあいてるのでコレに移植しようかと。まぁ、ゆっくりやっていきます。

↓は今動いてる奴


2021/02/11

ESP32 MicroPythonで室内観測開始

 pi picoを買って、MicroPythonを入れてみたけど、chrome osからシリアルが認識されないのでほおってある。流石にraspberry piでは認識できたけどね。

 で、先月VScodeの開発環境をchrome osに入れたので、ESP32 MicroPythonの温度・湿度・明るさセンサーの配線を整理して、BLE-Ambientゲートウェイのコードに追加して動作させてみた。
 今動いてるESP32-Arduinoベースのセンサは並行稼働させとく。こちらは来月になったら取り外す感じで良いかな。



2021/01/24

XBee3ではなくESP32 のMicroPython開発環境構築

 年始から細々とやっていたESP32のMicroPythonでBLE advertiseでセンサー値やり取りの実証ができた。さすがに、エディタで編集して、ampyでアップロードして、screenで確認してを続けるのは嫌なのでIDEを整備した。年末年始にも試したけど上手く動かなかたので再チャレンジ。

環境はchrome osのLinuxコンテナ(Debian 10)。

・uPyCraft 1.0
これはubuntu16.04しか動作保証されてない。起動してもzlib 1.2.9を要求される。zlibのソース持ってきて makeして配置しても駄目。造り手が保証してないから無かった物にする。

・thonny 3.3.3
動いた。どっかでみた事あると思ったら Raspbianに入ってるヤツだな。見た目はシンプルだけどかんたんにMicroPython側にコード焼けた。最低限これが使える事はわかった。

・PyCharm 2020.3.1 & MicroPython 1.1.3 プラグイン
MicroPythonの設定で/dev/ttyUSB0に設定してるのにつながらないのは、pyserial, ampyなどを別に参照してるっぽいのと、起動し直すたびにMicroPythonの設定が初期状態に戻ってしまうからみたい。
いろいろ試してるうちに、アップロードできたけど、コンソールを自動で閉じてくれないのでttyUSB0掴んでてampyがアップロードエラーになるとかこなれていない。
PyCharmはDigi XBeeプラグインによるXBee3専用開発環境にしとこうと思う

・VScode & Pymakr拡張機能 1.1.7
自分、VScodeに慣れていないのであるが、じっくりやったらESP32 にコードアップロードできた。アップロード時にコンソール掴みっぱなしも無い。ほぼこれをメインにすることが決定した。残念な点はVScodeはキーボードショートカットでいろいろ楽できるのだけど、左手1本の現状では押せるショートカットが限られる点。ま、折り合いを付けていこう。

というわけで開発環境が準備できた。

今、ESP32でArduino codeで動かしてる部屋温度、照度センサーは ESP32 MicroPythonに切り替える。
あとXBee3の雨センサー。GalliumOS,Windows10廃止の際に最新ソースが行方不明(苦笑)。昨日XBee3実機のFLASHを見てみたら main.pyじゃなくて main.mpy(プリコンパイルされたコード)だったのだ。なので、同じ動作をするようなコードを作っておこうと。こちらはPycharmで。

というわけで、動作確認の為の部屋温度、照度、&湿度センサーを仮組みして、コードも動作確認できた。本組みし直してambientゲートウエイにも対応追加して連続稼働テストに向かいます。やっぱ今後はマイコンのコードサイズが許す限りはpythonでやろうと思う。

2020/12/29

chromeboxでArduino IDE + あるふぁ

 chromo os に戻してから入れて無かったので入れた。前回やったときはunoは認識してたけど他はだめでした。

 動作確認。
uno
 何故か書き込めない。でも、「昔こんな事があったな」とUSBA−B ケーブルを変えてみたらあっさり書き込めた。
Leonardo, Micro
 32U4系なので、リセットする度にchromeosで再接続する必要がありますが、書き込めます。
ESP32 系
 cp2102使ってるやつですがちゃんと認識して書き込めた! それよりLinux でのesptools周りのセットアップが未だにどこか手を出す必要がある方が問題だ。
m5stick-cやFT231X 使ってるSwitchScienceオリジナル系
 OK。

というわけで、raspberry piでArduino環境を別途作らなくても良さそうではある。ま、ubuntu LTSいれて作るには作るけど。

 続いて pycharmとmicroPython関係を整備してベランダに2つ動かしてるXBee3のメンテ環境も再構築。
 pycharmは入れるXBee用プラグイン「Digi XBee」の対応次第なので、最新版を入れれば良いわけではない。今回は2020.3まで対応してるということで 2020.3.1を入れてみたがプラグイン上手く読めました。あと忘れてた XBee汎用設定ルールの「xctu ng」もインストール。.runファイルなのだけどついsudoで実行してしまったら起動エラー。やりなおしてユーザー権限で実行してバッチリ起動しました。

 あとはvs code入れる前にコンテナのバックアップを取って、いざ。というタイミングでLinuxコンテナが起動できなくなった。バックアップから戻そうとしたが、壊れてるらしく戻せなかった。βだしなぁ。1回やってることなので戻しは早い。年末ネット混雑でパッケージを落とし直すのに時間がかかる。

 で、vs codeも無事入って arduino拡張入れていじってるとこ。中華フォントになってるのを治そう。感じがわかったらraspberry piにも環境作るかな。

2020/08/16

雷センサーをベランダに設置

 雷センサー。
ambient連携まで実装した。室内だとノイズ元が多いのでベランダに持っていった。lightning.maskDisturber(true|false);とlightning.setIndoorOutdoor(OUTDOOR|INDOOR);はGPIOを使って再コードしなくても切り替えられるようにして。
 
 電源がほしいので元から設置してある環境センサーと同居。3.3VとGNDをジャンプワイヤでおすそ分け。



 台風の時期になったらジップロックを強化しようかな。

 ・・・と書いたあと、落雷を伴う夕立がきた。が、センサーのデータはアップされず。BLEの電波がが届かないのか、お裾わけの電力がESP32には足りないのか切り分けないと。XBee3はベランダで2機実績があるのでmicropythonに移植するか。と思ったがSPIはXBee3のmicropythonに実装されてたっけ?秋月版I2Cで試してみるか?ネタが付きないね。

2020/07/15

C101PでもArduinoIDE


 こないだ試してはいたものの起動できてなかったCPUがArmなASUS C101PでのArduinoIDE。こっちのほうがUSB−AポートもあるのでMake系には便利。

 $ uname -aLinux penguin 5.4.40-04224-g891a6cce2d44 #1 SMP PREEMPT Tue Jun 23 20:13:49 PDT 2020 aarch64 GNU/Linux

だったので、chrome osは32bitだけど64bit Arm版のarduino-1.8.13-linuxaarch64で入れてみたらビンゴ!無事起動できてblinkのコンパイルとアップロードもできました。duetに入れようかどうしようか。ポートがUSB-C 1個なのでマイコンとつなぎにくい。Over the Airでアップロードできるマイコン(ESP32 など)なら使えるかな。あ゛、ESP32用toolchainのarm版のバイナリが配られてないんだった。

2020/07/14

スリープブロッカーを作る

 スイッチサイエンスさんで委託販売されてた「スリープブロッカー」。OSがSleepしないようにマウスエミュレートして定期的にちょっと動かす感じのガジェット。こないだ見たら売り切れてて、なんだろうと思ったらGizmodoで記事になった為だとか。テレワークならではですかね。(さっき見たら在庫回復した。)
 マウスをエミュレートするならうちにもあるじゃんと、ATmega32U4の載ったArduino Leonardoがあるじゃんと。早速コード書いて作ってみた。ただ、LeonardoだとchromebookのArduinoIDEではポートがつながらなかった。Leonardoは起動シーケンス時に1回接続が切れるのか、Windowsでもポピポピ言ってかからなぁ。テストをWindowsでするからWindowsでコンパイル&書き込みした。


#include &ltMouse.h>const int interval = 30;  // secvoid setup() {  Mouse.begin();}// 一定時間に1回マウスを動かす x軸 右1 左1void loop() {  Mouse.move(1, 0, 0);  Mouse.move(-1, 0, 0);  delay(interval * 1000);}

ま、簡単だが機能しているようだ。

2020/07/13

chromebookでarduinoIDEできた

なにげに久々にぐぐったら以下のサイトを発見。
https://www.stevencombs.com/arduino/2020/01/20/arduino-on-chromeos.html
前に見た気もするけど試してみた。
Arduinoとつなぐために普段電源入れてるUSB-Cにもハブ入れて接続。arduinoとLinuxを接続するか?みたいなメッセージが出て呆気なく接続。
ArduinoIDEでもPort /dev/ttyACM0 で認識してる。blinkを書き込んだらちゃんとアップロードされて動きましたよ。
ESP32の環境もつくっちゃえばもうchromebookでカバーできるなぁ。XBee関係のソフトも試してみる価値ありだな。
半年損してたけど動いて良かった。


2020/05/06

ソーラーパネル付きセンサーはというと

 4/29にベランダ側の外壁に設置したソーラーパネルとリポバッテリーのついたセンサー。稼働させて3日でバッテリー切れとなった。発電が追いつかない様だがsleep_now()が雨センサと違う動作をしてたのも気になる。XBee3のファームを最新の100Aにしたからか?。で、発電のために直射日光が当たる場所に設置となると、ベランダの柵に引っ掛ける設置となるので雨水防水対策が必要となる。また、そんなとこにおいたら温度センサーは役に立たなそう。ただ、日照が良ければ自立電源で稼働できるのかテストはしてみたいと思う。タカチの防水ケース手配しないと。最悪、いま電池駆動させてる雨センサーに使えればいいなと思う。

2020/04/29

マイコンセンサー設置日和

 準備中だったソーラーパネルとリポバッテリーで外部電源不要なバージョンの環境センサをベランダに設置した。しばらく既設の外部電源版と併設です。太陽電池とはいうものの直射日光はあたらない場所。どれくらいもちますかね。事前の室内でのバッテリーでの稼働テストでは1週間は動いてた。

 あと、室内で温度と明るさを取得するだけのをESP32で作ってみたほう。こちらも稼働させてみた。微妙にmachine.配下のデバイス固有関数の使い勝手がXBee3とは違うので習得も兼ねてだね。

2020/04/15

pycharmの罠

 リチウムイオンポリマーバッテリーが届いたので、XBee3に電源電圧をBLE送信するコードを書こうとした。
 GaliumOSを起動して、XBee3をUSB シリアルでつないで、pycharmを起動すると画面がなんか違う。XBeeを検索できない。どうやらpycharmがアップデートした所為でXBeeMicropythonのプラグインがincompatibleになってた。設定みても無理くり動かすような指定は無さそう。しゃーないので1つ前のバージョン2019.3のpycharmをインストールして無事にXBeeプラグインが復活した。さっそく設定でpycharmの更新確認をしないようにおいた。digiがプラグインをアップデートしてくれるまでは2019.3だ。

2020/04/14

ESP32でmicropython

Xbee3でベランダでやってるのと同じのを室内に設置します。ESP32がいっぱいあるのでコイツにmicropythonを入れてですね。Arduinoでもいいんですが、Xbeeとコードの共有化が出来そうだし、デバッグ簡単だし。micropythonは入れました。Firmware built with ESP-IDF v4.x, with support for BLE, but no LAN or PPPを。BLE advertiseできれば良いので。

2020/04/12

ベランダ環境センサーのセルフ電源化準備

 こないだXBee3に換えたベランダ環境センサ。2013年にseeedstudioから買ったWireless Sensor Node – Solar Kitが未使用でしまってあったので使ってみようかと。
 バッテリーつないでみたけど充電されず。さすがに7年ほったらかしは過放電か。JSTコネクタで赤黒コードの配置が同じのをスイッチサイエンスさんに頼んだ。充電IC的には600mAhが良かったが400mAhしか手頃なのが無かった。Amazonだとドローン用はコネクタが違うみたいで手を出せない。まぁ、病前だったら半田づけして変えちゃうんだけどね。
 さて、目論見通りに行くかなぁ。問題は設置場所が直射日光が当たらないので、ソーラーセルがどれくらい電気を出してくれるか。

2020/03/29

ベランダENV微調整

自宅待機なので改良。
1個め。気圧を整数値のみで送っていたが、グラフにするとあまりにもカクカクだったので、小数点以下第一位まで送るように変更。
2個め。CDSのベースを0に近づくよう調整。RTC持ってれば深夜の測定値をベースにできるのだけれども、XBee3のRF版にはRTC無いです。
3個め。室内のBLEゲートウェイをpizero wからpi3+に変更。
新規でm5stickCで室内環境センサを置き換えた。これもBLEで送信するように今後改善予定。

2020/03/28

ベランダ環境センサもESP32 からXBee3版に入れ替えた

 BluetoothLEのアドバタイズの文字列長制限のためにセンサをBME280とCDSだけにしてブレッドボードを組み替えた。

 まぁ、問題はなさそうなので今までのESP32版と入れ替えまでを実施。まだXBee3のリモートコード書き換えは実験してない。ってかできるのかどうかも確証は得て無いが、今どきなんとかなりそうな気はする。

2020/03/01

雨センサー sleep関連

 電池電圧が右肩下がりだった雨センサープロトタイプXBee3 BLE版。
 今、稼働してるXBee2と同じ4:Cyclic Sleepにしてみたがうまく再起動しなかった。で、Sleep Modeに 6:micropython sleepにしてみた。
 sleepは sleep_now(millisec)を使用。電源電圧のグラフ見ても短期的には上がったり下がったりでそれほど電池を消費しなくなった。一旦これで仕込もうかな。

 昨日、Cyclic Sleepが駄目だったので、方針変更用にESP32Sのちっちゃいブレークアウトを2個ほどゲットしています。BLEのアドバタイズのメッセージ仕様をあわせて、どちらでも使える様にするのもありだね。


2020/02/25

雨センサダミーテスト

センサ基板はつけてない状態で稼働させてベランダに置いておいた。
無事にベランダから部屋内のpi zerowまで電波は届いて、BLEで受信は出来てた。
で、電池電圧のグラフをみたらずーと右下がり。こりゃちゃんとsleep出来てないな。
というわけで、cycle sleepするように変更しよう。

2020/02/11

BLE雨センサーのobserver側のテスト

 まず、今の雨センサーの受信側としてXBee2をUSB-UARTでつないで使ってるraspberry piでテストをやろうとしたがうまく行かない。よく見てみたらpi2じゃん。bluetooth載ってませんよ。
 つづいてpi3でやったがなんかライブラリーの不整合やらでこれもだめ。
 pizero wでやったら無事成功しました。大体の目処がついたのでコードのブラッシュアップをしてからケースなどを準備したい。アドバタイザーの方も手をいれて、温度と電池電圧を取得するようにした。これは1時間に1回くらいの別のアドバタイズでいいかな。あ、リモートから外のセンサーのXbee3のpythonコードを直す方法はないか調べよう。ESP32をarduinoで使ってるとOTAでのコード書き込みできるからね。まぁ、雨センサはそういじる必要もないけれど。

2020/02/09

定期通院と新雨センサー動作実験

 本日脳外科定期通院日。前日確認したら、今日は良い方の医師だったので気が楽だった。

 朝からpycharmをインストールしたりやってて、通院で途切れてしまったが、新雨センサーのセンサー部のテストは完了した。ちゃんとDIO1を入力にした櫛形基板で、濡らせば0, 乾いていると1を得られた。で、この値をBLEのアドバタイズデータに入れて飛ばして、androidの「BLE Scanner」で見られました。濡らせばちゃんと値も変わる。最初「BlueFruit」というアプリで観測してたけど、こいつは1回見つけてしまうとそのアドバターザーからのデータは更新しないようで使えなかった。
 センサー側は基本行けそうなので、次は piでBLEオブザーバーを書きます。