Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

arduino

Ubuntu22.04LTSにArduino CLI環境 その1:環境構築

実際のところ デフォだと作業直下のbinフォルダに導入されるようです。 パスも通ってるので、home直下に入れる事にします。 $ cd $ curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh動作確認にバージョン情報を出…

rclpyでttyUSB0を経由してM5stackにテキストを送り込むserviceを書く

段々内容が入り組んできましたが…… rclpyでttyUSB0を経由してM5stackにテキストを送り込むserviceを書いてみます これが出来たら、もうあとはカメラやサウンドデバイスみたいな事例しかないんでは 実際のところ サービス定義の作成 まずはサービスの定義ファ…

Arduinoで動くCNCコントローラーGRBL

Arduinoで動くCNCコントローラーの有名どころとしてGRBLというのがあります Arduino UNOピン数があれば3軸のCNCが動くので趣味プロジェクトでは中々有効かも ただし、ライセンスはGPLv3なのでよく理解してご利用のこと 実際のところ 導入 Arduino IDE Relea…

esp系ボード(M5stackやPico)の環境をUbuntuにはじめて組んだとき「esptool.pyがない」というエラー

実際のところ Arduino:1.8.19 (Linux), ボード:"STAMP-PICO, Default, 1500000, None" Traceback (most recent call last): File "/home/ubuntu/.arduino15/packages/m5stack/tools/esptool_py/3.3.0/esptool.py", line 27, in <module> import serial ModuleNotFo</module>…

【読書メモ】はじめての自作キーボード

はじめての自作キーボード (I/O BOOKS)作者:小池 俊樹工学社Amazon最近、流行っている自作キーボード周りの本。チャタリングや、小型マイコンでのIO数の制限等々、考える事が多いというボンヤリとした理解はありましたが、 その辺りについて回路と理屈で教え…

M5stackとBluetooth keyboard

M5stackにはBluetoothが内蔵されているので、これを有効利用してちょっとしたキーボード的ガジェットへの転用が可能です。 実際のところ 導入 Releases · T-vK/ESP32-BLE-Keyboard · GitHub からlatestのzipを導入。これを、IDEであれば サンプル Aボタンで…

【読書メモ】アイデアをカタチにする! M5Stack入門&実践ガイド[M5Stack Basic/M5StickC対応]

アイデアをカタチにする! M5Stack入門&実践ガイド[M5Stack Basic/M5StickC対応]作者:大澤 佳樹,aNo研,石川 真也,小池 誠,菅原 のびすけ,田中 正吾,豊田 陽介,necobit,廣瀬 元紀,三木 啓司,ミクミンP,若狹 正生技術評論社Amazon

ROSからM5stackにふれる その4:log

実際のところ #include <ros.h> #include <M5Stack.h> ros::NodeHandle nh; void setup() { // initialize the M5Stack object M5.begin(); M5.Power.begin(); nh.initNode(); } void loop() { //wait until you are actually connected while (!nh.connected()) { nh.spinOnce</m5stack.h></ros.h>…

ROSからM5stackにふれる その3:HelloWorldもといpublisher

実際のところ #include <ros.h> #include <std_msgs/String.h> #include <M5Stack.h> ros::NodeHandle nh; std_msgs::String str_msg; ros::Publisher chatter("chatter", &str_msg); char hello[10] = "hello ROS"; void setup() { // initialize the M5Stack object M5.begin(); M5.Power.begin(</m5stack.h></std_msgs/string.h></ros.h>…

ROSからM5stackにふれる その2:Lチカもといsubscriber

実際のところ #include <ros.h> #include <std_msgs/Empty.h> #include <M5Stack.h> ros::NodeHandle nh; bool flag = true; void messageCb( const std_msgs::Empty& toggle_msg){ if ( flag ) { M5.Lcd.fillScreen(WHITE); flag = false; } else { M5.Lcd.fillScreen(BLACK); flag = true; } } </m5stack.h></std_msgs/empty.h></ros.h>…

ROSからM5stackにふれる その1:環境構築

何やかんやで、即作りたいときには便利なM5stack こいつをROSと連携する方法を考えていきます。 実際のところ ROSにrosserial-arduinoの環境導入 sudo apt install ros-$ROS_DISTRO-rosserial sudo apt install ros-$ROS_DISTRO-rosserial-arduino cd catkin…

M5Cameraにもう少し詳しく潜る

HTMLファイルはバイナリ化されて読めませんが、さすがにレンダリングされればなんとか読めたので部品だけ切り抜けるように少し調べて見ました 実際のところ 動画 var baseHost = document.location.origin var streamUrl = baseHost + ':81' なので前の結果…

M5Camera Bを試してみる その3:mDNSを設定する

M5Cameraが便利なのは分かりましたが、毎回毎回IPアドレスをコンソールで表示、確認するのも面倒です。 連携するサービスも毎回毎回IPアドレス張替えでは不便ですしね。 こういうときは、mDNSの力を借りましょう。 実際のところ まずはライブラリのインクル…

M5Camera Bを試してみる その2:GETで画像を入手する

shuzo-kino.hateblo.jp 実際のところ 接続先のIPアドレスがhttp://192.168.X.Yのとき 国際標準のタイムスタンプをファイル名に採用して $ curl http://192.168.X.Y/capture --output "$(date -Iseconds).jpg" 何が起きている app_httpd.cppの1104行目に http…

M5Camera Bを試してみる

M5stack兄弟のひとつ、M5CameraのBタイプを使ってみました。 実際のところ デフォでM5Camera自身がAPになるサンプルが書き込まれていますが……後々自分でいじる事を考え、配信するタイプをコンパイルして書き込んでみることに。 ボードの用意 M5とかついてる…

Ubuntu20LTSにArduino-cli環境をいれM5stackのスクリプトを構築できるようにする

Raspberry Pi、それもリモート環境だと、お世辞にも便利とはいえないArduino IDEが余計に不便に感じます。 幸い、公式がCLIツールを出してるので、そいつを導入してみます。 実際のところ $ curl -fsSL https://raw.githubusercontent.com/arduino/arduin…

M5stackをweb鯖化してMCP23017への命令を遠隔で行えるようにする

shuzo-kino.hateblo.jp の続き。 M5stackと、それにつないだMCP23017とでLEDをブラウザ越しにいじったりできるようにする。 実際のところ #include <M5Stack.h> #include "Wire.h" #include <WiFi.h> #include <WiFiClient.h> #include <WebServer.h> #include <ESPmDNS.h> const char* ssid = "###"; const char* pass</espmdns.h></webserver.h></wificlient.h></wifi.h></m5stack.h>…

M5stackにMCP23017をつかってIOを拡張する

MCP23017という石があります。 IO拡張系の石なのですが、マイコン側からはI2Cで通信できるので線の分お得。 配線も減るし、上手に分離すればモジュール化も容易なんじゃないかと思い、手元のM5stackで実験してみました。 実際のところ #include <M5Stack.h> #include "W</m5stack.h>…

VSCodeにArduino IDE + M5stackな環境を構築する(書き途中)

前回VSCodeにUnityに構築して威力を痛感したので、この機会にArduino IDEもやってみようと思いたちました。 今の作業環境にM5stackの環境もないのでついでに。 実際のところ 環境 Windows10 Arduino IDE 1.18.4 Visual Studio Code 1.56.1 M5stack系はなし …

arduino INPUT_PULLUP

雑に作って試すプラットフォームとして丁度良い、Arduino。 徹底的に楽するなら、いっそプルアップ抵抗もなくなればいいのになんて思うこともありますが。 AVRの石には、実は内部プルアップが備わってる石があり、Arduino公式ボードはその品種を採用していま…

ATOM 2D/1D Barcode Scanner Development Kitで遊ぶ

公式より引用M5atomにQRコード読み取り機の拡張機能がついたキットです。 調べるまで知らなかったンですが、バーコードリーダーと同じアプローチで二次元バーコードも読み取りできるんですね。バーコードやQRコードのような日本でもお馴染みの様式に加えて、…

RaspberryPiのUSBポートにつないだM5stackをコマンド越しにリセットする

遠隔地にあって、気安く抜き差しできないM5stackを弄りたい場合。 ハードウェアフロー制御がマトモに機能してるデバイスでも再現性がある……かも? 実際のところ 作業ボードはRaspberryPi4B、ターゲットデバイスはM5stackを想定。 pythonでやる リセット回路…

RaspberryPiとArduinoとの通信がうまくいかないときはハードウェアフロー制御をOFFにするとうまくいくケースがある

RaspberryPiとArduinoとの通信がうまくいかないトラブルがありました。 アレコレ試したところ、ハードウェアフロー制御をOFFにするとうまくいくケースがあったのでメモを。 多分、Debian系OSとUSBシリアル経由のRTS/CTSがうまく動いてない外部機器……という関…

超小型ボードM5Atom Liteをつかう その5:POSTのアクションをうけとる

shuzo-kino.hateblo.jp の続きWEBサーバがたてられるなら、POSTアクションもいけるのが道理。 設定値の書き換えを模したものをつくります、 実際のところ 前回の記事をベースに、handleRootを改編する形で。 なんか記述が冗長な気がしますが、後で見返して確…

超小型ボードM5Atom Liteをつかう その4:mDNSをつかって社内ネットワークから内部データ

shuzo-kino.hateblo.jp の続き。 実際のところ シンプルな文字配信 サンプルをもとに、200と404には対応したサーバーを用意。 SSIDやPASSは今使っているWiFiのを設定してください。 #include "M5Atom.h" #include <WiFi.h> #include <WiFiClient.h> #include <WebServer.h> #include <ESPmDNS.h> const char</espmdns.h></webserver.h></wificlient.h></wifi.h>…

超小型ボードM5Atom Liteをつかう その3:EEPROMの切り分け

shuzo-kino.hateblo.jp の続き。EEPROM手打ちしてもいいですが、保存領域の値を分離したりします。 たとえば、初期設定値の領域はそのままにしたいけど、 センシング領域は一定タイミングでクリアしたい……とか。 実際のところ そのまんまサンプル写経。 /* E…

OctaveでArduino IDEのシリアルプロッタみたいなのをやる

OctaveでArduino IDEのシリアルプロッタみたいなのをやる。 実際のところ $ git clone https://gitlab.com/ville-klar/splot.gitディレクトリに移動し、Octaveをひらく $ cd ville-klar/splot $ octave --gui splot.mGUI上で splot /dev/ttyUSB0 115200 Ardu…

GNU OctaveとArduinoを連携する その3:GUIのスライドバーなどと値を連携する

shuzo-kino.hateblo.jp と shuzo-kino.hateblo.jp を応用して、ArduinoとOctaveのGUIを連携する方法について 実際のところ 今書いてまs

GNU OctaveとArduinoを連携する その2:ArduinoからOctaveにシグナル

実際のところ 今書いてまs 参考もと octave.sourceforge.io Arduino package - Octave

GNU OctaveとArduinoを連携する その1:環境構築とLチカ

MATLABにArduinoとの連携パッケージがあります。 その競合品であるGNU Octaveにも、あります。 実際のところ pkg install -forge arduinopkg load arduino Ardino側の用意 パッケージを読むと、ArduinoIDEを起動するコマンドが実行できるのでこいつを利用 ar…