2025年3月18日火曜日

Blynk on raspicow / Pythonn3 and firebase-rtdb

 


------------------------- Blynk etc ----------------------------

raspi,raspicow,esp32,esp8266で使用OK python or c++

------------------python3 and firebase-rtdb-------------------------------------------------

https://qiita.com/sai-san/items/24dbee74c5744033c330

auth登録あってもruleを変えるとpublicになった!

project setting / service accounts で generate new private keyを押してjsonを入手


import firebase_admin

from firebase_admin import credentials

from firebase_admin import db


cred = credentials.Certificate('./<your service account json>')


firebase_admin.initialize_app(cred, {

    'databaseURL': 'https://<your database url>',

    'databaseAuthVariableOverride': {

        'uid': 'my-service-worker'

    }

})


##databaseに初期データを追加する

users_ref = db.reference('/users')


users_ref.set({

    'user001': {

        'date_of_birth': 'June 23, 1984',

        'full_name': 'Sazae Isono'

        },

    'user002': {

        'date_of_birth': 'December 9, 1995',

        'full_name': 'Tama Isono'

        }

    })


# databaseにデータを追加する

users_ref.child('user003').set({

    'date_of_birth': 'Aug 23, 1980',

    'full_name': 'Masuo Isono'

    })


##データを取得する

print(users_ref.get())



2025年3月15日土曜日

Arduino Uno R4 WiFI with Arduino IOT Cloud or IDE2

basic led blinkしてみたがArduinoIDE2が必要だった! 参考サイト

https://garretlab.web.fc2.com/arduino.cc/docs/tutorials/uno-r4-wifi/ 難解

https://docs.sunfounder.com/projects/elite-explorer-kit/ja/latest/  いけてる

ideはダウンロードディレクトリから移動できん!

executable属性をつけてダブルクリック!


ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

PC画面のダッシュボードでオンオフするしくみ(blynkはスマホで大違い)

Arduino Uno R4 WifiをArduino Cloudから操作してみた https://qiita.com/macole/items/ba3fcbcc5945423984ac

 :: なおセキュリティーキーは発行されなかった! 廃止っぽい!

あとは画面でスイッチ操作でBUILTIN LEDが操作できた 
書き込みはネットからだった(生成コードはあくまで確認用!)

ちなみにwifi-agentは,ダウンロードディレクトリにてexecutable属性をつけて実行でインスト。あとはデスクトップのcloud agenを起動してgo to cloud!

https://docs.sunfounder.com/projects/elite-explorer-kit/ja/latest/iot_projects/02_iot_arduino_iot_cloud.html :: dht11
-----------------------------------------------------------------------------------
ちなみにCloudでもIDEでもファームウエア更新必要とでるができん!
 https://docs.sunfounder.com/projects/elite-explorer-kit/ja/latest/appendix/update_firmware.html#update-firmware
現状、うごくからいいか。。。。

2025年3月13日木曜日

新潮古典集成

文楽:冥土の飛脚  曽根崎心中 堀川波鼓 心中天の網島 女殺油地獄 国姓老合戦

歌舞伎: 仮名手本忠臣蔵 義経千本桜 菅原伝授手習鑑 

大南北: 東海道四谷怪談 

黙阿弥: 三人吉三

五大説教: 苅萱(父子の哀話)、俊徳丸(失明)、小栗判官(癩病)、山椒大夫

     信田妻 恨み葛の葉、愛護若(義母の執心)、梅若(隅田川哀歌)などなど

中国: 水滸伝 西遊記 三国志演義 金瓶梅 りょうさいしい? こうろうむ?

和泉式部日記・和泉式部集 
前半済
和泉式部野村精一‖校注1981-02978-4-10-620342-8
伊勢物語 読了渡辺実‖校注1976-09978-4-10-620302-2
浮世床・四十八癖 前半済式亭三馬本田康雄‖校注1982-07978-4-10-620352-7
雨月物語・癇癖談 前半済上田秋成浅野三平‖校注1979-01978-4-10-620322-0
宇治拾遺物語 
ビギクラで
大島建彦‖校注1985-09978-4-10-620371-8
大鏡 
ビギクラで
石川徹‖校注1989-06978-4-10-620382-4
落窪物語 
ビギクラで
稲賀敬二‖校注1977-09978-4-10-620314-5
御伽草子集
ビギクラで
松本隆信‖校注1980-01978-4-10-620334-3
蜻蛉日記
ビギクラで
藤原道綱母犬養廉‖校注1982-10978-4-10-620354-1
閑吟集・宗安小歌集 読了北川忠彦‖校注1982-09978-4-10-620353-4
金槐和歌集 源実朝‖撰樋口芳麻呂‖校注1981-06978-4-10-620344-2
建礼門院右京大夫集建礼門院右京大夫糸賀きみ江‖校注1979-07978-4-10-620328-2
源氏物語 1 
現代語で
紫式部石田穣二‖校注 清水好子‖校注1976-06978-4-10-620301-5
源氏物語 2紫式部石田穣二‖校注 清水好子‖校注1977-07978-4-10-620313-8
源氏物語 3紫式部石田穣二‖校注 清水好子‖校注1978-05978-4-10-620318-3
源氏物語 4紫式部石田穣二‖校注 清水好子‖校注1979-02978-4-10-620323-7
源氏物語 5紫式部石田穣二‖校注 清水好子‖校注1980-09978-4-10-620340-4
源氏物語 6紫式部石田穣二‖校注 清水好子‖校注1982-05978-4-10-620350-3
源氏物語 7紫式部石田穣二‖校注 清水好子‖校注1983-11978-4-10-620362-6
源氏物語 8紫式部石田穣二‖校注 清水好子‖校注1985-04978-4-10-620369-5
好色一代男 
現代語
井原西鶴松田修‖校注1982-02978-4-10-620348-0
好色一代女
現代語
井原西鶴村田穆‖校注1976-08978-4-10-620303-9
古今和歌集
ビギクラで
奥村恒哉‖校注1978-07978-4-10-620319-0
古今著聞集 上橘成季西尾光一‖校注 小林保治‖校注1983-06978-4-10-620359-6
古今著聞集 下橘成季西尾光一‖校注 小林保治‖校注1986-12978-4-10-620376-3
古事記
ビギクラで
西宮一民‖校注1979-06978-4-10-620327-5
今昔物語集 本朝世俗部 1
ビギクラで
阪倉篤義‖[ほか]校注1978-01978-4-10-620316-9
今昔物語集 本朝世俗部 2阪倉篤義‖[ほか]校注1979-08978-4-10-620329-9
今昔物語集 本朝世俗部 3阪倉篤義‖[ほか]校注1981-04978-4-10-620343-5
今昔物語集 本朝世俗部 4阪倉篤義‖[ほか]校注1984-05978-4-10-620364-0
狭衣物語 上鈴木一雄‖校注1985-03978-4-10-620368-8
狭衣物語 下鈴木一雄‖校注1986-06978-4-10-620374-9
更級日記
ビギクラで
菅原孝標女秋山虔‖校注1980-07978-4-10-620339-8
山家集 読了西行後藤重郎‖校注1982-04978-4-10-620349-7
三人吉三廓初買河竹黙阿弥今尾哲也‖校注1984-07978-4-10-620365-7
新古今和歌集 上
ビギクラで
久保田淳‖校注1979-03978-4-10-620324-4
新古今和歌集 下久保田淳‖校注1979-09978-4-10-620330-5
浄瑠璃集
「桂川連理柵」、「傾城八花形」「傾城三度笠」
土田衛‖校注1985-07978-4-10-620370-1
世阿弥芸術論集世阿弥田中裕‖校注1976-09978-4-10-620304-6
世間胸算用
現代語で
井原西鶴金井寅之助‖校注 松原秀江‖校注1989-02978-4-10-620381-7
説経集
現代語で
室木弥太郎‖校注1977-01978-4-10-620308-4
太平記 1
ビギクラで
山下宏明‖校注1977-11978-4-10-620315-2
太平記 2山下宏明‖校注1980-05978-4-10-620338-1
太平記 3山下宏明‖校注1983-04978-4-10-620358-9
太平記 4山下宏明‖校注1985-12978-4-10-620372-5
太平記 5山下宏明‖校注1988-04978-4-10-620378-7
竹取物語
ビギクラで
野口元大‖校注1979-05978-4-10-620326-8
歎異抄・三帖和讃
親鸞‖述伊藤博之‖校注1981-10978-4-10-620346-6
近松門左衛門集近松門左衛門信多純一‖校注1986-10978-4-10-620375-6
竹馬狂吟集・新撰犬筑波集木村三四吾‖校注 井口寿‖校注1988-01978-4-10-620377-0
堤中納言物語
ビギクラで
塚原鉄雄‖校注1983-01978-4-10-620356-5
徒然草
ビギクラで
吉田兼好木藤才蔵‖校注1977-03978-4-10-620310-7
東海道四谷怪談四世鶴屋南北郡司正勝‖校注1981-08978-4-10-620345-9
土佐日記
ビギクラで
紀貫之木村正中‖校注1988-12978-4-10-620380-0
とはずがたり
ビギクラで
中院雅忠女福田秀一‖校注1978-09978-4-10-620320-6
日本永代蔵
現代語
井原西鶴村田穆‖校注1977-02978-4-10-620309-1
日本霊異記
現代語
景戒‖撰述小泉道‖校注1984-12978-4-10-620367-1
誹風柳多留宮田正信‖校注1984-02978-4-10-620363-3
春雨物語・書初機嫌海上田秋成美山靖‖校注1980-03978-4-10-620336-7
芭蕉句集松尾芭蕉今栄蔵‖校注1982-06978-4-10-620351-0
芭蕉文集松尾芭蕉富山奏‖校注1978-03978-4-10-620317-6
平家物語 上
ビギクラで
水原一‖校注1979-04978-4-10-620325-1
平家物語 中水原一‖校注1980-04978-4-10-620337-4
平家物語 下水原一‖校注1981-12978-4-10-620347-3
方丈記・発心集鴨長明三木紀人‖校注1976-10978-4-10-620305-3
枕草子 上
ビギクラで
清少納言萩谷朴‖校注1977-04978-4-10-620311-4
枕草子 下清少納言萩谷朴‖校注1977-05978-4-10-620312-1
萬葉集 1 読了青木生子‖[ほか]校注1976-11978-4-10-620306-0
萬葉集 2青木生子‖[ほか]校注1978-11978-4-10-620321-3
萬葉集 3青木生子‖[ほか]校注1980-11978-4-10-620341-1
萬葉集 4青木生子‖[ほか]校注1982-11978-4-10-620355-8
萬葉集 5青木生子‖[ほか]校注1984-09978-4-10-620366-4
無名草子桑原博史‖校注1976-12978-4-10-620307-7
紫式部日記・紫式部集
前半ビギクラで
紫式部山本利達‖校注1980-02978-4-10-620335-0
本居宣長集本居宣長日野竜夫‖校注1983-07978-4-10-620360-2
謡曲集 上 @伊藤正義‖校注1983-03978-4-10-620357-2
謡曲集 中伊藤正義‖校注1986-03978-4-10-620373-2
謡曲集 下伊藤正義‖校注1988-10978-4-10-620379-4
与謝蕪村集与謝蕪村清水孝之‖校注1979-11978-4-10-620332-9
梁塵秘抄 読了
後白河院‖撰榎克朗‖校注1979-10978-4-10-620331-2
連歌集島津忠夫‖校注1979-12978-4-10-620333-6
八犬伝
ビギクラで
ちなみに 義経記も 同様

2025年3月12日水曜日

BLE :: ラズピコW・MQTTX

https://zenn.dev/hoshinagi1219/articles/9ad26317fc8b46 これは非同期ライブラリ central/peripheral

以下は同期ライブラリ使用

https://tech-and-investment.com/raspberrypi-picow-11-bluetooth2-central/  :: ble central

https://tech-and-investment.com/raspberrypi-picow-10-bluetooth1/ :: ble peripheral

https://wisteriahill.sakura.ne.jp/CMS/WordPress/2023/10/09/pi-pico-bluetooth-low-energy-ble/

アンドロイドアプリでLED制御 普通はこれで十分かも

注意:android設定でペアリング不可,androi appのbluetooth serial terminalからスキャン必要

ーーーーーmqttxーーーーーーーーーーーーーーhttps://qiita.com/emqx_japan/items/d1b9708d7f7f6a2d7284

はうごいたがCUIでのみ使用可能 GUI版を使用するにはダウンロード

ディレクトリのsnap版をマウントして中にあるmqttxを実行


2025年3月9日日曜日

Johnny5/uno(pir,piezo,lm35,hcsr04,servo,motor,aqm0802,bme280)

復旧方法!

node_moduleが怪しげになってうごかんくなった 以下の手順で成功

node20にして失敗しだしたのでnode18にもどして (どうやったかというと

https://nyan-kyun.verse.jp/wordpress/2024/09/25/git-sourcetree03/#google_vignetteを

参考に nvm でヴァージョン指定!)

https://qiita.com/kamiro/items/b509e30fa62279a82bbcの5の方法で復旧できた

https://qiita.com/pyon_kiti_jp/items/6a751779f4baf165896bでnvm固定!

-------------------hcsr04 他-pir ,piezo,lm35---------------

pirはあっさりうごいた...ふかぼりいずれ必要 lm35は表示がはやすぎ。。。深堀必要

piezoもあっさり動いた ただ以下のコードで最初のpiezo.playのみ実行される

あとのはreplにコピペで動いた  なおプラマイがあるのがアクティブ、ないのがパッシブ

var five = require("johnny-five"), board = new five.Board(); board.on("ready", function() { // Creates a piezo object and defines the pin to be used for the signal var piezo = new five.Piezo(3); // Injects the piezo into the repl board.repl.inject({ piezo: piezo }); // Plays a song piezo.play({ // song is composed by an array of pairs of notes and beats // The first argument is the note (null means "no note") // The second argument is the length of time (beat) of the note (or non-note) song: [ ["C4", 1 / 4], ["D4", 1 / 4], ["F4", 1 / 4], ["D4", 1 / 4], ["A4", 1 / 4], [null, 1 / 4], ["A4", 1], ["G4", 1], [null, 1 / 2], ["C4", 1 / 4], ["D4", 1 / 4], ["F4", 1 / 4], ["D4", 1 / 4], ["G4", 1 / 4], [null, 1 / 4], ["G4", 1], ["F4", 1], [null, 1 / 2] ], tempo: 100 }); // Plays the same song with a string representation piezo.play({ // song is composed by a string of notes // a default beat is set, and the default octave is used // any invalid note is read as "no note" song: "C D F D A - A A A A G G G G - - C D F D G - G G G G F F F F - -", beats: 1 / 4, tempo: 100 }); });

超音波::

https://denshibu.blog.fc2.com/blog-entry-114.html?sp を参考にPingFirmata.inoをunoへ

インストするのがキモ!

var five = require("johnny-five");

var board = new five.Board();

board.on("ready", function() {

  // Proximityオブジェクトを作成

  var proximity = new five.Proximity({

                      controller: "HCSR04",

                      pin: 7,

       freq:  10000

                    });

  // データを取得して距離を表示

  proximity.on("data", function() {


    console.log("Proximity: ");


    console.log("  cm  : ", this.cm);


    console.log("  in  : ", this.in);


    console.log("-----------------");


  });


  // 「change」イベント:障害物が変更されたときに発生する


  proximity.on("change", function() {


    console.log("The obstruction has moved.");


  });


});

-----------------------------led blink------------------------------------------

https://johnny-five.io/examples/ :: miscelaneous examples

https://qiita.com/masato/items/9dad71eca295088e14e5 :: 補遺

{ "name": "johnny-five-start", "version": "0.0.1", "private": true, "dependencies": { "johnny-five": "0.8.48" }, "scripts": {"start": "node app.js"} }

上記のpackage.jsonでnpm startできた、ちなみにctl-c x 2でexitできた!

ただしapp.jsはled1.jsを参考に以下とした

const{Board,Led} = require("johnny-five");

 const board = new Board();

board.on("ready", function() {

  const led = new Led(12);

  led.blink(1000);

});

---------led1.js-----------------------------------------

const { Board, Led } = require("johnny-five");

const board = new Board();

board.on("ready", () => {

  const led = new Led(12);

  led.on();

  board.on("exit", () => {

    led.off();

  });

});

node led1.jsでLedOn、ctl-c x 2でLedOff!

--------------servo1.js--------------------

 servo :: https://dev.classmethod.jp/articles/genuino-101johnny-five-servo/ 

var five = require('johnny-five');

// Genuino が接続されているポート番号 ( `/dev/tty*` (Mac/Linux) or `COM*` (Windows) )

var board = new five.Board();

board.on('ready', function() {

  var servo = new five.Servo({

    'pin' : 10

  });

  this.repl.inject({

    'servo' : servo

  });

 servo.sweep({

  'range'    : [45, 135],

  'interval' : 10000

});

});

----------------dcmotor using drv8833---------------
https://qiita.com/yoshi_iwa/items/95a0cd833508652c1dfb にあるコードで成功
{port:...}をとりpwm 3,dir 4 (arduino unoのピン仕様にて)に変更して成功
ただl298n moduleのほうが説明詳しそう
--------------------lcd using aqm0802---------------------------------------
https://l-w-i.net/t/arduino/lcd_001.txt :: aqm0802成功 3.3v!
// AQM0802A-RN-GBW - I2C接続小型液晶 8文字x2行
//   1. VDD(3.3Vに接続)
//   2. RESET  (*)未使用
//   3. SCL(クロック)
//   4. SDA(データ)
//   5. GND

var five = require("johnny-five");
var board = new five.Board();

var LCD_ADR = 0x3E;  // コントローラIC ST7032iのI2Cアドレス(固定)
var clm_list = [     // 送信コマンドを変えることで表示行を変える
  0x80,  // 0行目表示
  0xc0   // 1行目表示
];

//
// 関数定義
//

// LCD制御
var lcd_cmd = function(cmd) {
  board.io.i2cWrite(LCD_ADR, 0x00, cmd);
}

// データ送信
var lcd_data = function(lcd_data) {
  board.io.i2cWrite(LCD_ADR, 0x40, lcd_data);
}

// 出力位置指定(行, 列)
var lcd_setCursor = function(row, clm){
  lcd_cmd(clm_list[row] + clm);
}

// LCDクリア
var lcd_clear = function() {
  lcd_cmd(0x01);
}

// LCD初期化
// (*)コントラストは好みに応じて微調整するとよい
var lcd_init = function() {
  board.io.i2cConfig();

  lcd_cmd(0x38);  // 画面サイズ指定(8文字 x 2行)
  lcd_cmd(0x39);  // 拡張コマンド設定
  lcd_cmd(0x14);  // 内部OSC周波数
  lcd_cmd(0x7A);  // コントラスト
  lcd_cmd(0x56);  // 電源(3V)/アイコンOFF/コントラスト
  lcd_cmd(0x6A);  // フォロワー操作
  lcd_cmd(0x38);  // 拡張コマンド設定終了
  lcd_cmd(0x0C);  // 表示ON
  lcd_clear();    // LCDクリア
}

//
// メイン
//
board.on("ready", function() {
  // LCD出力
  var lcd_print = function(msg) {
    for(var i = 0; i < msg.length; i++) {
      lcd_data(msg.charCodeAt(i));  // 1文字出力
    }
  }

  lcd_init();           // LCD初期化
  lcd_clear();          // LCDクリア
  lcd_setCursor(0, 0);  // カーソル位置(行, 列)
  lcd_print("I Love");  // 表示文字列
  lcd_setCursor(1, 0);
  lcd_print("Arduino!");
});
-------------------button---piezo---------普通にできた----------------
https://johnny-five.io/examples/button/
https://johnny-five.io/examples/piezo/
------------------------bme280----------------------
arduinoUnoの3.3vでbme280駆動できた !
https://qiita.com/7L4QOI/items/41358541af5b1abf719c 成功!
var five = require("johnny-five"); var board = new five.Board(); board.on('ready', function () { var bme280 = new five.IMU({ controller: "BME280", address: 0x76, // optional ここ重要 }); bme280.on("data", function(e,data) { if( this.barometer.pressure >90 ){ //気圧の初回値が変なので、異常値は読み飛ばす これも重要 console.log(" celsius(摂氏) : ", this.temperature.celsius); console.log(" pressure(hPa) : ", this.barometer.pressure *10); console.log(" relative humidity: ", this.hygrometer.relativeHumidity); console.log("--------------------------------------"); process.exit(); //終了 これで単発処理となる! } }); })
--------------------------