發表文章

[心得] Arduino MQTT 控制、傳輸

#include #include const int led=2; //內建LED const char* ssid = "MISR"; const char* password = "WIFI密碼"; const char* mqttServer = "192.168.0.144"; const char* mqtt_server = "192.168.0.144"; const char* mqttUser = "bob01"; const char* mqttPassword = "123456"; const int mqttPort = 1883; WiFiClient espClient; PubSubClient client(espClient); long lastMsg = 0; char msg[50]; int value = 0; float temperature = 0; float humidity = 0; void setup() { Serial.begin(115200); setup_wifi(); client.setServer(mqtt_server, 1883); client.setCallback(callback); pinMode(led, OUTPUT); } void setup_wifi() { delay(10); // We start by connecting to a WiFi network Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println...

[心得] flask MQTT 連結 Socket 即時顯示MQTT傳送之訊息

Python import eventlet from flask import Flask, render_template from flask_mqtt import Mqtt from flask_socketio import SocketIO eventlet.monkey_patch() app = Flask(__name__) app.config['SECRET'] = 'my secret key' app.config['TEMPLATES_AUTO_RELOAD'] = True app.config['MQTT_BROKER_URL'] = 'broker.hivemq.com' app.config['MQTT_BROKER_PORT'] = 1883 app.config['MQTT_USERNAME'] = '' app.config['MQTT_PASSWORD'] = '' app.config['MQTT_KEEPALIVE'] = 5 app.config['MQTT_TLS_ENABLED'] = False app.config['MQTT_CLEAN_SESSION'] = True mqtt = Mqtt(app) socketio = SocketIO(app) @mqtt.on_connect() def handle_connect(client, userdata, flags, rc): mqtt.subscribe('esp/test') @mqtt.on_message() def handle_mqtt_message(client, userdata, message): data = dict( topic=message.topic, payload=message.payload.decode() ) # emit a mqtt_message event to the socket contain...

[心得] Reed Switch (リードスイッチ) Arduino Explame

For Esp32   int switchReed2=5; //GPIO int led=2; //內建LED int switchReed=18; //GPIO void setup(){ pinMode(led, OUTPUT); //設動輸出模式 pinMode(switchReed2, OUTPUT); //設動輸出模式 pinMode(switchReed, OUTPUT); //設動輸出模式 Serial.begin(9600); //設定鮑率 } void loop(){ // 判斷電磁開關是否接觸:是 if (digitalRead(switchReed)==HIGH){ digitalWrite(led, LOW); //設定低電位(關燈) Serial.println("Window Closed"); } // 判斷電磁開關是否接觸:否 else { digitalWrite(led, HIGH); //設定高電位(亮燈) digitalWrite(switchReed2, HIGH); //設定高電位 Serial.println("Window Open"); } delay(1000); } 修改至 Arduino筆記(72):使用MC-38 磁簧開關監測門窗開啟或關閉 | 天花板隨記 (atceiling.blogspot.com)

[心得] Raspberry Pi 4 部屬系統以及解決Xrdp藍(青)色畫面問題

圖片
沒想到上了研究所還能繼續摸到樹梅派...😂 其實安裝步驟與前幾代基本上是大同小異,但是這次實驗室學長是叫我使用Xrdp來進行遠端連線以往都是使用VNC連線沒什麼問題...但查了網路資料這個Xrdp跟VNC應該是會有衝突,為了解決這問題也走了很多冤枉路以下解法不一定能成功,僅供參考。 這裡推測二點可能不能連線原因 1.樹梅派系統開機預設登入『pi』這個帳號導致無法連線 2.Xrdp跟VNC有衝突,可能要解除VNC ------------------------------------------------------------------------------------------------- 樹梅派系統部屬方法 1.將系統映像檔寫入SD卡或隨身碟 ( Raspberry lite 32bit or 64bit ) 2.設定Wifi 設定檔 (建立 wpa_supplicant.conf放入 根目錄 ) ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=TW network={ ssid="這裡填寫WIFI名稱" psk="這裡填寫WIFI密碼" } 3.開機後透過SSH連接(PuTTY或Cmd本身都可以) 4.更新升級系統 sudo apt-get update sudo apt-get upgrade 5.安裝 xrdp sudo apt-get install xrdp 6.安裝桌面環境與Chrome跟pip sudo apt install raspberrypi-ui-mods sudo apt install chromium-browser --yes sudo apt-get install python3-pip 重新啟動後應該就能夠使用Windows 內建的遠端軟體連線了! 參考資料 Pyssel: Raspberry Pi OS Lite with GUI, RDP, VNC, Chrome (pysselilivet.blogspot.com) 將 PIXEL 新增到 Raspbian Lite ·GitHub

[心得] ai2+Firebase

圖片
  Firebase config file error "firebase_url" : "https://your-projekt-id.firebaseio.com" ,

[心得] ai2+google sheet script

function doGet(e) { return Authentication(e) } function doPost(e) { return Authentication(e) } function Authentication(e) { var ss = SpreadsheetApp.openById("ID"); var sh = ss.getSheetByName('標籤'); if (e.parameter.func=="Create"){ var rg = sh.getName() + "!" + sh.getDataRange().getA1Notation(); var email = e.parameter.email; var sql = '"Select B where B=\''+email+'\'"'; var qry = '=IFERROR(query(' + rg + ',' + sql + '),"")'; var ts = ss.insertSheet(); var setQuery = ts.getRange(1,1).setFormula(qry) var getResult = ts.getDataRange().getValues(); ss.deleteSheet(ts); if (getResult==""){ var data =[e.parameter.id, e.parameter.email, e.parameter.pwd]; sh.appendRow(data); return ContentService.createTextOutput("GOOD...

[筆記] のんのんびよりのんすとっぷ ハラハラする秋だった

* 誤字脱字 が ある 場合が あります ええ前から言ってたように明日は授業参観です 今配ったプリント親に見せといてね ああそうだった忘れてた 勉強しといていいとこ見せないと うち毎日授業参観みたいなものだから特別な感じがしないん 姉ちゃんがいつもいるんだからな じゃ駄菓子屋も呼んでいいん、それじゃ特別感でるのん 来てくれるかね、まあそういうことだから ---オープニング--- いやまだ授業参観してもないのに燃え尽きすぎじゃない 母ちゃんに今の体たらくぶりを見られたら どうなることか思い こんなことならバッチリ授業で答えるようにしとけば良かった まあ なるようになるんでしょう 勉強してなかったなつみが悪いだし あはは じゃ終わりの会終了 みんな明日頑張って あそれと あずねが実習中とか寝てるって母ちゃんに言ったら 授業参観の内容によっては かずねにも雷落とすようなこと言ってた ゆきこさんにうちの体たらく見られたら どうなることから ちゃんと授業しとけば良かった 明日は一蓮托生だね かずねこうなったら予め 明日の授業の質問決めといてうちに教えておくっての はどう? なるほど それでなつみがちゃんと答えられれば うちもちゃんと授業してると思ってもらえる なつみ君 うち仮にも一教師、そんな八百長みたいな真似はできない 先はなるほどって言ってたのに  とりあいず 明日に向けて  正々堂々勉強しよう うちが見てあげるから よし 分かった なつみ教科書出して オッケー 国語から行くよ はい(もう帰ってもいいの)さあー 駄菓子屋、教室はこっちなの 分かってるよ卒業生だぞ いやー わざわざ来てくれてどうもね 親が急に風引いちゃってさあ 別に大丈夫っすよ 代わりに今度うちでなにか買っていってくれれば  うん うん あー そういえば 聞きましたよ 今日はゆきこさんの監視があるようで まあ 昨日、なつみにスパルタ特訓したから 大丈夫 えー いや 驚いた事になつみ結構暗記力高くてね 水 兵 リーベ 僕の船! 天才だ まあ 変なことは覚えてますからね あいつ かずちゃんおはよう 和ちゃんの授業見るのなんて初めてね 噂をすれば ん?何が言った いいえいいえ それよりゆきこさんなつみのやつすごいですよ ちょっと勉強見てやったらすらすら問題集解いたりして もしかしたら天才かもしれないですよ あら本...