3.ソフトウェア

EDGE IMPULSでモーション特徴量をArduino向けにビルド

初めに チュートリアルを試す Arduino Nano 33 BLE ソースコード Data Forwarder 初めに Gesture Controlled Drone with M5Stack and Edge Impulse - Hackster.io を参考に、 M5StickCで取得したモーションデータ(加速度/ジャイロ/姿勢)を学習し、判定できる…

SIM7080GのAPN設定

更新日 2011/11/13 概要 M5Stack社のCAT-Mモジュール「SIM 7080G」を購入したのでAPN設定を行い、UI FLOWからHTTP通信できるか確認する。 結果、APN設定はできたが、UIFLOWのUnitではHTTP通信できない。 UiFLOWでCAT-M Unitが実装されていないため 試験系 SI…

プロセス間通信

概要 PythonのSignal Handlerを調べているとInter thread communicationという単語が気になった。 Inter thread communicationはスレッド間通信であり、WikiPediaを見る限りプロセス間通信 - Wikipediaと同じだ。 WikiPediaのIPC(Inter Process Communicatio…

UiFLOWのmicroWebSrvでWebAPI作成

概要 UiFLOWのmicroPythonにてM5StickC上にWebAPIを実装し、遠隔からサーボモータをコントールする。 動作の様子 UiFLOWでhttp getでサーボモータ動かす仕組み作ってた。これでWale On Lanの無いサーバーの遠隔電源ON/OFFする…。 pic.twitter.com/Nro2VyLjS8…

Thread処理と非同期処理をやってみた(Python)

並行処理としてマルチプロセス処理、並列処理としてThread処理、非同期処理がある。 Python multiprocessing vs threading vs asyncio - JX通信社エンジニアブログ 今回はThread処理、非同期処理について実行した備忘録となる。 方法 Threadクラスを継承する…

C++ headerとcppファイルによるコンパイル

headerとcppファイルを分割してコンパイルする方法がわからなかったので備忘録として記録する。 C++にてheaderとcppファイルによるコンパイルを行うには、分割コンパイルとリンクを行う必要がある。 student.hとstudent.cppによりクラスを作成し、mainからst…

M5StickC Magic Wandからの学び

M5StickCのジェスチャでLEDを変色させるMagic Wandのコードで学びがあったため記載しておく。 プロジェクトは下記から確認できる。 それにしても認識は早い。これは機械学習を使っていないためという事もある。 https://m5stack.hackster.io/shasha-liu/magi…

GNURadioで生成した.pyファイルを自動起動する

自動起動にはrc.local等にプロセスの絶対パスを記載 プロセスの自動復旧にはmonitを利用する。 参考。https://tech.godpress.net/?p=857 monitで自動復旧して30秒後にプロセス停止、自動復旧が繰り返されてしまう現象が起きたため、systemdに切り替える syst…

HC-SR04が未検知状態で異常動作する

未検知状態はエコーが返ってこない状態を指す。 室内では周辺のものがあるためエコーが返るため正常動作するが、 室外(見通し)だと室内同様に検知できなかった。 未検知状態では回路の違いにより、正常・異常動作するものがある事が分かった。注意する事。 U…

USB_Host_Shield_Library_2.0を使ってみる

M5USBHostSHield_Example

M5Atom MatrixでGameControllerizerの環境構築

1. UIFLOWの書き込みと接続 M5Burnerでv1.7.3を書き画面から書き込んだ後、API Keyが不明になったので解決策を記す。 M5Atomは画面が無いので、シリアル接続し出力を見ながら、LEDの色でモード判定しないといけない。 M5AtomをUIFlowで書き込んだあとにWiFi…

M5StickCでGameControllerizer

M5Atomと基本的に同じ。但し画面があるため、デバッグし易いためM5StickCで行う。 1. Direct Accessモードで確認 Direct Accessモードを利用し書きコマンドでゲームパッドボタン①②に対応する事を確認した。 cmd = bytearray(b'\xc1\x10\x00\x03') # GCの制御コ…

node-red-contrib-game_controllerizerのインストール

GitHub - GameControllerizer/node-red-contrib-game_controllerizer: Node-RED nodes for GameControllerizer のインストール方法をメモする。 0. 初めに node-red-contrib-game_controllerizerのインストール方法は二つあるが、今回はNode-RED Manage Pale…

M5StickC 3Dマウスを動かしてみる

目次 M5StickC 3Dマウス ソースコード HID OVER GATT (BLE入力)がうまくできない場合 所感 Pitch/Roll/Yawの取得 FEZのインターフェイスへの利用 BLE 3Dマウス BLE ゲームパッド BLE キーボード BLE 3Dゲームパッド(左手) + BLE マウス(右手) BLE キーボード…

GNURadioでTTGO-Beamの信号をgr-loraで受信する

rpp0/gr-lora 環境構築・実行 追記 BastilleResearch /gr-lora LoRa Decodeブロックが複数あるため、それぞれ紹介する。 rpp0/gr-lora TTGO-BeamからのLoRa信号をRTL-SDRで受信し、GNU Radioのgr-loraブロックにより復号することを試みる。今回は以下の条件…

GNURadio Technic(更新中)

手動インストール インストール先の変更 以下によると、通常のインストール先は/usr/local/lib/&pythoversions/dist-packagesだが、cmakeのオプション-DCMAKE_INSTALL_PREFIXによりインストール先を変更できる。 この場合は、../にインストールされる $ mkdi…

LimeSDR VNA(Memo)

Setup sudo -s apt install python3-pip sudo -s pip3 install Cython sudo -s pip3 install setuptools python3 setup.py install sudo -s apt install libpython3.5 Execution python3 measureVNA900M.py DUT20dB -> DUT file and short file will be gene…

Installing GNURadio3.8

以下を参考にUbuntu18.04へGNURadio 3.8のインストールを試みたが、何度も失敗した。 GitHub - gnuradio/pybombs: PyBOMBS (Python Build Overlay Managed Bundle System) is the GNU Radio install management system for resolving dependencies and pulli…

Arduinoを制御するGUIのまとめ

ArduinoをGUIから制御できないかと思い探してみると 、Arduino Playground - InterfacingWithSoftware に複数のGUIの紹介があった。 Azande Jubito MegunoLink ArduinoへGUIデータ転送 GUIからArduinoへデータ転送 まとめ Azande Azande Studioを入れると Se…

ADALM-PLUTOの環境構築

GNURadioで動作を確認後、スタンドアローンでIQサンプリングできる方法を検証、記載する。 まずはインターネットへ接続し、aptより必要ライブラリをインストールする必要がある。USB-EtherまたはWiFi Dongleよりインターネット接続を行う。 詳細は、「1.イ…

動かしてみたいGNURadioアプリケーション

gr_channelsounder RFID Reader rpp0/gr_lora gr_channelsounder github.com USRPが無いため検証できないが、シミュレーションで遅延プロファイルを表示できた。 時間分解能スケールは1μオーダ程度に見えるが、USRPを利用した際の分解能はどの程度となるのか…

LimeSDRやRTL-SDRでのTDoAの話

RTL-SDR TDoA 到来時間算出法 LoRa-TDoA LTE Timing Advance BackScatter WLAN OWPT Measurement nsオーダ同期調査 NTP × IEEE1588 IEEE1588 with 802.11 Chrony ×? LimeSDRでTDoAできるか気になるので調査してみた。 結論から言うと、外部クロック(GPSDO等)…