部分教學引用至:http://hefetech.blogspot.com/2016/04/raspberry-pi-3.html?m=1
一、4G撥號指令用在/etc/rc.local裡面
------>sudo wvdial simcom
二、python3.5程式使用autostart
------>sudo nano ~/.config/lxsession/LXDE-pi/autostart
加入 ----- >@/usr/bin/python3.5 /home/pi/Desktop/GUI_run/demoUI.py
終於可以了呢!
2018年6月20日 星期三
[記錄-樹梅派]安裝4G模組撥號"wvdial"
記錄一下安裝4G撥號模組的過程
一、安裝撥號程式wvdial
sudo apt-get install -y wvdial
二、設定wvdial設定檔
sudo nano /etc/wvdial.conf
三、輸入設定檔
[Dialer simcom] Phone = *99# APN = internet Username = username Password = password Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1, "IP","Internet" Modem = /dev/ttyUSB3 Baud = 115200 Stupid Mode = 1
Dialer XXX:XXX為自訂的名稱,之後打指令要用這個名稱去執行
Modem = OOO:OOO為模組行動網路通訊的Port
四、退出編輯後,輸入指令sudo wvdial simcom(你的自訂名稱)
基本上最下面出現IP位置就可以連線了。
筆記:
我的模組Sim7600CE、Sim7500SA
port表為
1) /dev/ttyUSB0-輸出開發訊息 dial-port
2) /dev/ttyUSB1- GPS NMEA資料輸出port
3) /dev/ttyUSB2-AT指令port
4) /dev/ttyUSB3-ppp-dial撥號用port
5) /dev/ttyUSB4-聲音port
6) /dev/ttyUSB5-虛擬網路卡
參考來源https://www.raspberrypi.com.tw/tag/wvdial/
2018年6月7日 星期四
[記錄]ESP8266抓取網頁Json資料並做硬體開關
原本在搞HTTP的標頭搞了好幾個小時,後來終於找到好用的程式庫了
void loop{
http.begin("http://網頁位置");
if(http.GET() == 200){//如果網頁回應200代表正常
DynamicJsonBuffer jsonBuffer(BufferSize);//設定json的緩衝區及大小
JsonObject& root = jsonBuffer.parseObject(http.getString());//設定緩衝區資料來源
Serial.print("GET:");
relay1=root["relay1"]; //變數relay1=讀取json的relay1值
}
註:
1.線上版Json資料轉換:https://jsoneditoronline.org/
#include <ESP8266HTTPClient.h> //用來擷取網頁
#include "ArduinoJson.h" //用來處理Json資料
HTTPClient http;如果要把一個網頁的內容提出Json來當變數可以像這樣:
void loop{
http.begin("http://網頁位置");
if(http.GET() == 200){//如果網頁回應200代表正常
DynamicJsonBuffer jsonBuffer(BufferSize);//設定json的緩衝區及大小
JsonObject& root = jsonBuffer.parseObject(http.getString());//設定緩衝區資料來源
Serial.print("GET:");
relay1=root["relay1"]; //變數relay1=讀取json的relay1值
}
註:
1.線上版Json資料轉換:https://jsoneditoronline.org/
2018年6月5日 星期二
[記錄]樹莓派-外接專用螢幕基本設定
買了一塊7吋的觸控式螢幕來給樹莓派用
插上去卻發現畫面變成這樣
原本以為是瑕疵或是排線沒有接好,反覆插拔排線都一樣。後來查了一下發現要先設定螢幕解析度等等的。
一、下指令:sudo nano /boot/config.txt
二、在最底下輸入
hdmi_group=2
hdmi_mode=87
hdmi_cvt 1024 600 120 6 0 0\
三、輸入完畢後按Ctrl+O然後Enter存檔
四、重開機即可
詳細的參數設定請參考:VIDEO OPTIONS IN CONFIG.TXT
2018年6月2日 星期六
Ticker.h on ESP8266
#include <Ticker.h>
void ICACHE_RAM_ATTR onTimerISR(){ digitalWrite(LED,!(digitalRead(LED))); //範例於閃爍LED }
void setup(){
timer1_attachInterrupt(onTimerISR);//宣告初始化 timer1_enable(TIM_DIV16, TIM_EDGE, TIM_LOOP); timer1_write(1000000);
}
////////////////////
語法:time1_enable(divider,int_types,reload)
1.divider:
(1)TIM_DIV1 //80MHz (80 ticks/us - 104857.588 us max) (2)TIM_DIV16 //5MHz (5 ticks/us - 1677721.4 us max) (3)TIM_DIV256 //312.5Khz (1 tick = 3.2us - 26843542.4 us max)
2.int_types
(1)TIM_EDGE
(2)TIM_LEVEL
3.reload
(1)TIM_SINGLE //你需要寫一個新的值再次啟動計數器在中斷程序上
(2)TIM_LOOP //中斷計數器將再次以相同的值開始
void ICACHE_RAM_ATTR onTimerISR(){ digitalWrite(LED,!(digitalRead(LED))); //範例於閃爍LED }
void setup(){
timer1_attachInterrupt(onTimerISR);//宣告初始化 timer1_enable(TIM_DIV16, TIM_EDGE, TIM_LOOP); timer1_write(1000000);
}
////////////////////
語法:time1_enable(divider,int_types,reload)
1.divider:
(1)TIM_DIV1 //80MHz (80 ticks/us - 104857.588 us max) (2)TIM_DIV16 //5MHz (5 ticks/us - 1677721.4 us max) (3)TIM_DIV256 //312.5Khz (1 tick = 3.2us - 26843542.4 us max)
2.int_types
(1)TIM_EDGE
(2)TIM_LEVEL
3.reload
(1)TIM_SINGLE //你需要寫一個新的值再次啟動計數器在中斷程序上
(2)TIM_LOOP //中斷計數器將再次以相同的值開始
訂閱:
文章 (Atom)