追蹤者

2019年3月16日 星期六

Windows10 Python MySQL Webserver

下載

下載及安裝 教學
 
python-3.8.0-amd64.exe   64 Bit 版本
python-3.8.0.exe 32 Bit 版本

python.org downloads for Windows  Python官網

keejko.blogspot android-python-ide-pydroid-3

📣Python 3.x 連結MySQLdb 解決方法
       A、如果Python是2.x版的,安装方法,在命令行执行:pip install MySQLdb
       B、如果Python是3.x版的,直接用pip install MySQLdb无法安装,网上有的说MySQLdb不支持Python3.x版,
             后续要用PyMql。
              再经查询,找到如下方法可以安装支持Python3.7的MySQLdb
              1、从下面网址下载需要的whl包,网址:https://pypi.org/project/mysqlclient/#files
cnblogs.SH170706 Python 打包工具

Windows 10 +mysql+ python + download

Win10 + Python3.7 + Django2.1 + MySQL8.0配置

教學

參考 barloslee 7windows-apache-python 測試成功 部分內文如下

下載 Python,有分 32bit 與 64bit 版本;安裝畫面有一選項:Add python.exe to Path,要勾選,這樣只要是 .py 結尾的檔案,滑鼠點兩下,都可以以 python 直接開啟執行。

安裝完 Python 之後,再來設定 Apache 的設定檔,以文字編輯軟體打開:

apache_目錄\conf\httpd.conf
先找到這一行:

Options Indexes FollowSymLinks

在後面加上 ExecCGI,如果有,就不用。
Options Indexes FollowSymLinks ExecCGI

找到這二行:
AddHandler cgi-script .cgi

在後面加上.py

AddHandler cgi-script .cgi .py

備註說明:上面的行前面可能會有 # 的符號,代表不啟用,所以要把 # 給移除;也許字串會有些不一樣,只要把該加的加到最後面即可,記得保留一個空格。

儲存 Apache 的設定檔案後,重新啟動 Apache 即可套用。

Python 3.3 測試檔案內容如下:

#!C:/Python33/python
print("Content-type: text/html")
print("")
print("")
print("")

print
("Hello from Python.")
print
("")
給個名字,舉例 test.py ,檔案置放於網頁的根目錄下面,eg. apache_根目錄\htdocs\

用網頁瀏覽器,路徑指向這個檔案,舉例:http://localhost/test.py

按輸入/Enter,頁面就會顯示:Hello from Python.


PS 
2019/10/23
改用下列方法
打開 IDE (Python3.8.0) , 視窗 File Open test.py , Run Module
執行跳出Python 3.8.0 Shell 視窗顯示
========================= RESTART: C:\Python38\test.py =========================
Content-type: text/html



Hello from Python.


>>> 
Python安裝成功 能跑



Django教學
https://github.com/twtrubiks/django-tutorial

其他安裝
菜鳥工程師 肉豬 python-windows7 64bit -pip-vs code

其他網站資料

整合 Django mysql Win10 + Python3.7 + Django2.1 + MySQL8.0配置

https://www.itread01.com/content/1549428330.html
使用Django內建的資料庫存在一些問題,通過下面的操作使django連線mysql資料庫進行更便捷的操作。
首先遇到的問題是網上的大部分教程(基於python2.x)顯示django 連線mysql預設驅動是MySQLdb,MySQLdb沒有支援python3的版本,如果使用python3.x版本時,要使用pymysql替換MySQLdb。
解決這個問題的具體步驟:
1.安裝pip:(如果已安裝,跳過該步)
2.使用pip安裝pymysql包:
執行命令pip install pymysql
3.安裝mysql 
...

  sirius1812.blogspot.com/2018/03/股票程式所需要的技術分析

machinelearningtw.windows-10-anaconda-37-tensorflow-gpu-20

python-mysql 教學

https://www.quora.com/What-is-the-way-to-run-a-Python-script-from-a-PHP-XAMPP-server
https://www.zoearthmoon.net/blog/program/item/964.html


如何從-arduino-data-透過-python-上傳-mysql


ESP32

how-to-use-mdns-to-resolve-hostname-esp32-ipaddress

how-to-use-udpip-with-arduino-esp32


幫趣網站 python IDE版本介紹



https://buzzorange.com/techorange/2017/08/04/python-scraping/

在Html 寫 Python

透過瀏覽器網頁執行 程式 --- Python 程式

其他 網頁編輯器

alextpcno1 komodo-ide-網頁編輯器 支援Python

免安裝網頁編輯器kompozer 不支援Python
Kompozer教學

數種網頁編輯器 介紹

其他書籍
Python 網頁程式交易APP實作  林萍珍 著
https://github.com/letylin/pyptbook 程式碼下載



2019年3月9日 星期六

九十九元 NodeMcu Lua v2 好便宜

NodeMcu Lua v2  沒藍芽, 一個ADC。

ESP8266 九十九元好便宜拿來做基本實驗也好,
比ESP32窄, 放在麵包板上 拉線也方便!
NodeMcu Lua v2、WIFI 物聯網開發板 ESP8266






安裝
Nodemcu V2 芭蕉葉上聽雨聲 ---安裝 教導 下載 CP2102 驅動程式 使用 Arduino IDE  Lua 編輯器
...
「Boards Manager...」。
(出現「Boards Manager」對話窗)

Step6 捲動右側拉桿到下方,點擊「esp8266 by ESP8266 Community」那一欄,再點擊「Install」鈕。

...
Step2 點擊「工具」>「板子」,選擇「NodeMCU 1.0 (ESP-12E Module)」。

購買
露天99元 NodeMCU V2 CP2102 USB chip

實作
12. 待測 96x64 SPI color oled 
https://www.arduitronics.com/product/1403/rgb-oled-0-95-96x64-pixels-16-bit-color-oled-spi-interface
11. 待測 觸控螢幕.蓋格計 geiger-counter-esp8266-touchscreen/
10. 待測4 PINs touch-panel-module
9.待測 -wemos-tft-2.4"觸控螢幕
觸控螢幕TFT 8. ESP8266 + WIFI
https://github.com/AutoConnect/AutoConnect.ino  待測
https://github.com/esp8266/Arduino 到LIBRARY目錄看所需libraries


7.ESP8266 + BLUETOOTH
https://circuitdigest.com/microcontroller-projects/using-classic-bluetooth-in-esp32-and-toogle-an-led

csjhmaker bluetooth

https://blog.csdn.net/huibei_wuhan/article/details/83592075

6. IRreceiving   yehnan.blogspot.com/2013/05/IR

5. Wi-Fi smartconfig  with ROM
wyj-learning.blogspot.com/2018/03/nodemcu-15nodemcu-smartconfig

stonez56.blogspot/2019/01/voice-control-MQTT

4.
Dust sensor 

2019 /04/11 OK
實驗成功_laser_dust_sensor_SKU:SEN0177


/*接線 注意 PMS 7003 TX 接 esp8266 RX ,   PMS7003 RX(可不接) to esp8266 TX*/

//******************************
 //*Abstract: Read value of PM1,PM2.5 and PM10 of air quality
 //
 //*Version:V3.1
 //*Author:Zuyang @ HUST
 //*Modified by Cain for Arduino Hardware Serial port compatibility
 //*Date:March.25.2016
 //******************************
/*接線 注意 PMS 7003 TX 接 esp8266 RX ,   PMS7003 RX(可不接) to esp8266 TX*/
#include <Arduino.h>
#define LENG 31   //0x42 + 31 bytes equal to 32 bytes
unsigned char buf[LENG];

int PM01Value=0;          //define PM1.0 value of the air detector module
int PM2_5Value=0;         //define PM2.5 value of the air detector module
int PM10Value=0;         //define PM10 value of the air detector module


void setup()
{
  Serial.begin(9600);   //use serial0
  Serial.setTimeout(1500);    //set the Timeout to 1500ms, longer than the data transmission periodic time of the sensor

}

void loop()
{
  PM01Value=0;
  PM2_5Value=0;  
  PM10Value=0; 
  if(Serial.find(0x42)){    //start to read when detect 0x42
    Serial.readBytes(buf,LENG);

    if(buf[0] == 0x4d){
      if(checkValue(buf,LENG)){
        PM01Value=transmitPM01(buf); //count PM1.0 value of the air detector module
        PM2_5Value=transmitPM2_5(buf);//count PM2.5 value of the air detector module
        PM10Value=transmitPM10(buf); //count PM10 value of the air detector module 
      }           
    } 
  }

  static unsigned long OledTimer=millis();  
    if (millis() - OledTimer >=1000) 
    {
      OledTimer=millis(); 
      
      Serial.print("PM1.0: ");  
      Serial.print(PM01Value);
      Serial.println("  ug/m3");            
    
      Serial.print("PM2.5: ");  
      Serial.print(PM2_5Value);
      Serial.println("  ug/m3");     
      
      Serial.print("PM1 0: ");  
      Serial.print(PM10Value);
      Serial.println("  ug/m3");   
      Serial.println();
    }
  
}
char checkValue(unsigned char *thebuf, char leng)
{  
  char receiveflag=0;
  int receiveSum=0;

  for(int i=0; i<(leng-2); i++){
  receiveSum=receiveSum+thebuf[i];
  }
  receiveSum=receiveSum + 0x42;

  if(receiveSum == ((thebuf[leng-2]<<8)+thebuf[leng-1]))  //check the serial data 
  {
    receiveSum = 0;
    receiveflag = 1;
  }
  return receiveflag;
}

int transmitPM01(unsigned char *thebuf)
{
  int PM01Val;
  PM01Val=((thebuf[3]<<8) + thebuf[4]); //count PM1.0 value of the air detector module
  return PM01Val;
}

//transmit PM Value to PC
int transmitPM2_5(unsigned char *thebuf)
{
  int PM2_5Val;
  PM2_5Val=((thebuf[5]<<8) + thebuf[6]);//count PM2.5 value of the air detector module
  return PM2_5Val;
  }

//transmit PM Value to PC
int transmitPM10(unsigned char *thebuf)
{
  int PM10Val;
  PM10Val=((thebuf[7]<<8) + thebuf[8]); //count PM10 value of the air detector module  
  return PM10Val;

}


阿玉的網站---我用PMS700320190411實驗成功
/*  2019 04 12 PM2.5 dht22  讀取資料 OLED 顯示成功*/
以前 使用的PM2.5感應器GP2Y1014,不太精準 有時還抓到負值。
於是到eBay 買了兩個PMS7003。
實驗了兩組網路抓的PM2.5讀取程式。
其中一組昨天可讀取及顯示到Oled,但整合溫濕度計,就罷工。
今天早餐後, 使用另一網站的PM2.5讀取程式, 再整合溫濕度程式。
成功了。

下一步 , 還要加入 PM2.5過高時, 要能啟動風扇 過濾空氣的功能。





dust_wifi

esp8266 ---pmsx003
pms-3003--- lcd --- 程式碼
co2 dht pm2.5 -air-sensor-by-yourself/
esp32-pm2-5-pm10-with-honeywell-hpma115


3. output high, Motor runs


2 . 
esp866--dht22-但是使用 dht bege e Tokyo library 跟我用在ESP32一樣的library
esp8266--dht22-web-server-tutorial
128*64oled-display-with-dht22-/ESP8266

1.esp8266dht. web-server-with-arduino-ide/
DHT22  讀取資料為 nan 之處理

網頁控制nodemcu-led  --- 含安裝  但不須用 Lua編輯器
2019.3.10飯後,在另一台PC 
安裝 arduino 1.8 , 開發板使用node mcu 1.0 esp12e 。
並Copy這個網頁 的程式 測試 網頁控制LED 亮跟滅 成功 。

但是 原始程式要修改一下 就是 手機連上網頁後,按led Off時候 LED要輸出LOW電位, 反之,按 led on的時候要輸出 HIGH電位。

B I2C OLED 128x32 , SCL---GPIO5, SDA---GPIO4, 3.3V, GND
http://arduino-er.blogspot.com/2016/04/nodemcu-esp8266-to-display-on-128x64.html
1. modify file  C:\Users\user\Documents\Ardkuino\libraries\Adafruit_SSD1306\ Adafruit_SSD1306.h

#define _Adafruit_SSD1306_H_
// ONE of the following three lines must be #defined:
#define SSD1306_128_64 ///< DEPRECTAED: old way to specify 128x64 screen
//#define SSD1306_128_32   ///< DEPRECATED: old way to specify 128x32 screen
2. 程式內
#define OLED_RESET  LED_BUILTIN   // default 4  Reset pin # (or -1 if sharing Arduino reset pin)

3. 結果 以上兩步驟 OLED都沒顯示,
修改第一步 //#define SSD1306_128_32 為#define SSD1306_128_32
再次證明買家給我的是 128x32

C. I2C OLED 顯示中文
電子老兵

D. ESP8266 dht22
彼得潘的-開發教室/-arduino-uno-esp8266-dht-22


其他
程式下載
silabs Download for Windows 10 Universal (v10.1.4)
arduino IDE 1.8.8   直接下載IDE 1.8.8

參考網頁
https://www.instructables.com/id/ESP8266-WiFi-touch-screen-thermostat/
Daijoubu
2 years ago
Use the BME280 sensor instead, has humidity, temperature and pressure, all in one :)
Also, the RTC may not be necessery, someone tested the time keeping of the ESP8266 and it was only 1 sec off per day, so running NTP sync every day(s)/week would be sufficient, also, the DS1302 is not even that precise, if one wants a good one, get the DS3231
nodemcu V2 芭蕉葉上聽雨聲 NodeMCU DEVKIT V1
https://www.youtube.com/網友Th27a介紹

 產生 BIN檔案                                                                                                                                                         Arduino>檔案>偏好設定>顯示詳細輸出: 編譯 , 上傳 打勾      , Arduino>草稿碼>匯出以編譯的二進位檔  ------>   2/27/2020 OK.                                                                                                                           但 Arduino>上傳, 卻出現"error: espcomm_open failed". <<< 不外接設備 重新上傳成功,                 如此不用每次都編譯再加上傳, 速度快很多了!

2019年3月8日 星期五

ESP32 晶片及 燒錄器, 還有其他ESP32產品

243元 買ESP32F 晶片 送PCB, 不過還要買燒錄器。 254元

ESP32U 晶片沒有附PCB
ESP32 U

OTA 空中更新軟體
https://makerpro.cc/2021/10/esp32-basic-over-the-air-programming/

youtube.com/ESP32燒錄教學

ESP32-WROVER燒錄夾具 含軟體安裝說明NT 759

甲蟲工作室 diy-esp燒錄 
CP2104 driver install   https://www.silabs.com/ << click to download CP210x

683元可燒ESP-WROOM-32   https://item.taobao.com/掏寶
ESP32-WROOM                              


       https://randomnerdtutorials.com/bin-binary-files-sketch-arduino 

arduino>Sketch>Export complied Binary,
arduino>Sketch>Show Sketch Folder,    then...You should have two files in your Sketch folder: the .ino and the .bin file. 

       再查了另一個教學YOUTUBE  https://www.youtube.com/watch                          arduino>File>Preferences> Settigs> Show verbose output during:  compilation and upload  selected   09:27秒開始講ESP8266                                                                                                

  1.    產生 BIN檔案                                                                                                                                                         Arduino>檔案>偏好設定>顯示詳細輸出: 編譯 , 上傳 打勾      , Arduino>草稿碼>匯出以編譯的二進位檔  ------>   2/27/2020 OK.                                                                                                                           但 Arduino>上傳, 卻出現"error: espcomm_open failed". <<< 不外接設備 重新上傳成功,                 如此不用每次都編譯再加上傳, 速度快很多了!
  2. ESP 系列燒錄韌體   https://www.espressif.com/zh-hans/support/download/下載   https://www.espressif.com/zh-hans/support/download/other-tools
  3. 解壓縮檔後執行flash_download_tools_v3.6.8\flash_download_tools_v3.6.8 APP

  4. ESP8266 燒錄教學 https://swf.com.tw/?p=1123






樂鑫官方AT固件


245元 ESP32 晶片附PCB
245元 ESP32-WROOM-32晶片附PCB https://m.ruten.com.tw/goods/show.php?g=21640885678533

327元 ESP32-WROOM-32晶片附PCB
ESP32-WROOM 晶片附PCB

ESP32-WROOM 17元轉接板



NT.224 Esp32-wroom-32
ESP-32F
ESP-32F開發板



NT.99 NodeMcu V2 CP2102 雖然便宜 但可看出 功能少一些


2019年3月7日 星期四