Python安裝與利用PySerial存進.txt

Python安裝與利用PySerial存進.txt

首先進入python3.6.3,64位元下載網址下載。下載之後點擊執行檔進行安裝,注意記得選customize install,它內建安裝Pip&easy install 可以讓你之後如要安裝與匯入套件簡易許多



選擇customize install
下一步

安裝(安裝位置關係到之後的環境變數設定)

之後就進行安裝直到安裝完畢,選擇close就安裝玩python跟輔助工具了。

接下來是環境參數設定


開啟Windows Powershell
輸入下列指令設定環境變數

[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\python;C:\python\Scripts", "User")
記得入徑要改為自己安裝的位置以及python資料夾裡面的Scripts裡面有Pip跟easy install
設定完之後記得要重新啟動Windows Powershell 之後就能在任何位置直接使用Python跟pip 指令了。

安裝Pyserial
在Windows Powershell輸入
pip install pyserial 即可安裝

接著撰寫讓Arduino上的DHT11模組透過Serial Port傳至PC的.txt檔

Arduino code



#include <SimpleDHT.h>
//      VCC: 5V or 3V
//      GND: GND
int pinDHT11 = 2; //      DATA: 2
SimpleDHT11 dht11;

void setup() {
  Serial.begin(9600);
}
void loop() {
  byte temperature = 0; 
  byte humidity = 0;
  int err = SimpleDHTErrSuccess;
  if ((err = dht11.read(pinDHT11, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
    Serial.print("Read DHT11 failed, err="); Serial.println(err);delay(1000);
    return;
  }
  Serial.print((int)temperature);Serial.print(",");
  Serial.print((int)humidity);
  delay(5000); // DHT11 sampling rate is 1HZ.
}


Python code


import serial #include pyserial(must install)
import time   #include time

ser = serial.Serial('COM9',9600) #setup serial port&&baudrate
f = open('dataFile.txt','a')   #open dataFile.txt and 'a' continued write it down

while 1 :
    st = time.localtime() #get localtime
    data = ser.read(5) # get serial data from arduino dht11(5Bytes)
    data1 = data.decode('utf-8') #decode data
    tm = time.strftime('%Y/%m/%d %H:%M,', st) #add localtime for record
    f.write(str(tm)+data1) # time + data
    f.write("\r\n") # wrap
    f.close() #close
    f = open('dataFile.txt','a') #open



此資料就可以在excel中開啟並直接匯出圖表

留言