追蹤者

2019年8月14日 星期三

KaNiko綜合擴大機 開箱

TaKo Eletronics  KaNiKo綜合擴大機 開箱 
KaNiKo 合拼式放大器 中文說明 <<<按一下

【前言】
先聊一下 為什麼這台機器一開始就吸引我。
記得2006 台灣 DIY音響百花齊放的年代 ,我跟Ken Law 買了 1543 8並聯DAC 。
收到後發現他在輸出 並了一顆 調音的 電容 我就知道 Ken Law不只 數位在行, 在音質上 也特別去著墨。
 之後, 我又持續 組裝了 前級,後級 。想玩黑膠 也嘗試組裝 唱盤放大 。但這些機器我都儘量裝入A4紙張長寬的機器內。
但堆疊起來佔用空間還是不小。

對於居家空間不大的我, 事隔多年KaNiko一經推出,  很快就讓我決定用它來精簡我的桌上音響系統。

下訂後, 比預期時間延後一個多月 才收到機器。
Ken 解釋,這段期間 他又加強調整了 後級的阻抗, 以利與前級的搭配。
這樣讓我更確定,這將是一部 完成度極高的綜合機。
省掉了前後級阻抗不搭 ,再來想法用線材, 用擴散 來補強機器音效的另類玩法。

【開機】
開機後顯示畫面, 這是一個觸控螢幕, 加上右側的電源按鈕及音量旋鈕, 沒搖控器也可進行各項操作。主畫面左側輸入 #3 可接唱盤, 本機有MM唱盤放大電路。

一開機 喇叭發出輕微的嗡聲, 我懷疑是多年沒用的
左側YAMAHA DVD-S2300輸出的, 改天再檢查。

主畫面右下角有個設定ICON, 按下後進入System settings。

觸右箭頭 進入Audio settings。

跳出 看一下System info.。

More System info.。

下面的時間設定, 想改成2019,長按5秒就可改日期時間了

再次回到主畫面
主畫面左下角的Tape 錄音icon按下去變紅色,
同時有繼電器
“答”的一聲, 這是導通錄音的功能。
主畫面右側的禁喇叭Icon按下去變紅色,這是靜音按鍵。

【聆聽】
使用器材: KaNiKo綜合擴大機, YAMAHA DVD-S2300, CHARIO桌上型小喇叭

8/15/2019 Medicine Woman 第八首 高音飄逸極致 前所未聞
查官網發現極高的數字, 頻率響應為:10~300kHz

持續聽了幾片CD  細節清晰, 泛音豐富, 雖然是小小的機器 但量能充沛
這是我對它的基本描述。 加上飄逸高音也能展現。 我想說 這是監聽級擴大機嗎

08/23/2019 使用Iriver IFP-795 MP3撥放器
 聽了幾首之後,   [飄洋過海來看你]撥放時,  瞬間聲音充滿整個房間(此時音量-40 dB) 。量能細節都到位, 才有這樣的 總體呈現吧。以前自己DIY 的A4小擴大機 完全沒聽出這種包圍感

11/25/2019  一樣使用Iriver IFP-795 MP3撥放器, CHARIO桌上型小喇叭, 但擴大機換上ICEPOWER 500ASP。AB比對KaNiko綜合擴大機,   發現 ICEPOWER 500ASP 聲音生冷
我這套 ICEPOWER 500ASP 還加 Lundahl LL7902變壓器調音過呢其實不AB比對也不錯,只是KaNiko綜合擴大機 音樂性太好了!

【調整音量】
音量旋鈕轉動時 , 會慣性豪邁的轉動 感覺像轉陀螺一樣
跟以前使用機械旋鈕, 一格一格轉動的感覺不同

我猜是不是用了 光學式旋鈕 才能這麼順暢。  這機器使用了1023段音量控制, 比一般級進音量控制23段多了很多, 加上 這麼順暢的旋鈕,  使用上很搭配


【關機】
面板的開關按一下, 機器便逐步進行關機程序
在背板開關沒切掉總電源的狀態下, 機器有些許溫度。
詢問原廠答覆如下: 其實除了前級和後級,其他都沒關,真空管有個低電壓維持他的燈絲沒有完全關掉 開機就200W功耗



技術規格

官方數據

前級部份(標準前級模組)
音量控制:100dB(0.1dB步進)
輸入:動磁式唱頭輸入x1,高電平輸入x3,錄音監聽(高電平)x1
輸出:錄音輸出x1,前級輸出x1
增益:14dB(前級模式)
後級部份
功率輸出(每聲道):30瓦(8歐),60瓦(4歐),90瓦(2歐)
總諧波失真:0.5%(1kHz,滿度輸出)
頻率響應:10Hz~300kHz(+0,-3dB@1瓦)
阻尼因數:255
增益:26dB

TaKo Eletronics KaNiKo 合拼式放大器 中文說明 <<<按一下

2019年7月16日 星期二

ESP32 雙核程式的寫法

ESP32 雙核程式的寫法
https://randomnerdtutorials.com/esp32-dual-core-arduino-ide/

RAW CODES
https://raw.githubusercontent.com/RuiSantosdotme/ESP32-Course/master/code/Dual_Core/Dual_Core_Blinking_LEDs/Dual_Core_Blinking_LEDs.ino


How the Code Works

TaskHandle_t Task1;
TaskHandle_t Task2;

In the setup()
Serial.begin(115200);

Then, create Task1 using the xTaskCreatePinnedToCore() function:
xTaskCreatePinnedToCore(
             Task1code, /* Task function. */
             "Task1",   /* name of task. */
             10000,     /* Stack size of task */
             NULL,      /* parameter of the task */
             1,         /* priority of the task */
             &Task1,    /* Task handle to keep track of created task */
             0);        /* pin task to core 0 */
Task1 will be implemented with the Task1code() function. So, we need to create that function later on the code. We give the task priority 1, and pinned it to core 0.
 Create Task2 
xTaskCreatePinnedToCore(
             Task2code,  /* Task function. */
             "Task2",    /* name of task. */
             10000,      /* Stack size of task */
             NULL,       /* parameter of the task */
             1,          /* priority of the task */
             &Task2,     /* Task handle to keep track of created task */
             1);         /* pin task to core 0 */
After creating the tasks, we need to create the functions 
void Task1code( void * pvParameters ){
  Serial.print("Task1 running on core ");
  Serial.println(xPortGetCoreID());

  for(;;){
    digitalWrite(led1, HIGH);
    delay(1000);
    digitalWrite(led1, LOW);
    delay(1000);
  }
}
The function to Task1 is called Task1code() (you can call it whatever you want). For debugging purposes, we first print the core in which the task is running:
Serial.print("Task1 running on core ");
Serial.println(xPortGetCoreID());
Then, we have an infinite loop similar to the loop() on the Arduino sketch. In that loop, we blink LED1 every one second.
The same thing happens for Task2, but we blink the LED with a different delay time.
void Task2code( void * pvParameters ){
  Serial.print("Task2 running on core ");
  Serial.println(xPortGetCoreID());

  for(;;){
    digitalWrite(led2, HIGH);
    delay(700);
    digitalWrite(led2, LOW);
    delay(700);
  }
}
 the loop() function is empty:
void loop() { }
Note: as mentioned previously, the Arduino loop() runs on core 1. So, instead of creating a task to run on core 1, you can simply write your code inside the loop().


Oled 96x64 color SPI
Adafruit-SSD1331-OLED-Driver-Library-for-Arduino
Where to buy
https://m.ruten.com.tw
Wiring and program
rgb-oled-0-95-96x64-pixels-16-bit-color-oled-spi-interface

TIME slice multi_tasking

2019年4月20日 星期六

報導 【達人理財】靠3條線

www.msn.com
股市阿水鑽研布林通道型態,靠著3條線從台股輕鬆提款。
股市阿水曾是美商科技公司在台的IT主管,工作到凌晨3點,想靠股票贏回自己的人生,卻總是賺少賠多,把年薪都搭進去股市裡。直到他將布林通道研究透徹,靠著簡單3條線,抓緊「壓縮、帶量、突破」的賺錢祕訣,因此早早開除老闆,10年間從股市賺進4千萬元。
「任何人的打擊力道都比不上人生,但重點不在打擊力道多強,而在於你可以承受打擊,繼續向前邁進,那才是致勝之道。」這是電影《洛基六:勇者無懼》中,主角洛基罵醒兒子的經典台詞,也是熱愛電影的股市阿水最喜歡的橋段。
 

布林通道 致勝之道

「我長得不帥,身高只有156,就連國家都不需要我(身高157公分以下免役),所以自知要比別人努力。」儘管身高矮人一截,今年36歲的股市阿水,卻有巨人般的意志,「以前我下班後看財報、學技術分析,可是投資結果都讓人很沮喪。」儘管如此,阿水還是繼續向前邁進。
股市阿水投資小檔案
  • 出生:1983年
  • 學歷:崑山科技大學電機系、台大法律專班
  • 現職:專職投資人
  • 經歷:敦陽科技工程師、豪威科技在台IT主管
  • 投資心法:布林通道判斷大盤多空趨勢,專挑壓縮、帶量、收紅K站上布林通道頂的個股,此法過去5年歷史回測平均年報酬達2成
為了學投資,他嘗試過無數種策略和方法,直到後來逛國外網站,接觸到「布林通道」,發現股價移動平均線和標準差概念,和他在科技業品管使用的6標準差(Six Sigma)異曲同工,放手一試,這才找到投資致勝之道。靠著這套獨門技法,過去10年間他已從台股提款4千萬元。
阿水解釋,布林通道是80年代就出現的技術分析工具,由3條線組成帶狀通道,包括以20日移動平均線(20日MA)為中線,上下加減2個標準差為通道頂及通道底,根據統計學常態分布原理,股價落在布林通道之間的機率約95%。而不管判斷大盤多空或挑選個股,阿水都會密切觀察布林通道的型態,以下2招是他最得意的布林通道賺錢術:
第一招:大盤綠燈 進場做多
阿水表示,投資人進場永遠要留意2件事:一是大盤好壞,二是回檔疑慮。他以出海捕魚形容入市:「開漁船出海要先付成本,買賣股票也一樣,如果海裡沒有魚,船開越久會賠越多,大盤就像個大池子,行情差很難找到飆股;反之,行情好自然飆股多,賺錢容易。」簡單說,順勢操作是基本前提。
© 由 Mirror Media Inc 提供
根據多年的經驗,阿水利用布林通道中線(20日MA)指標,結合台指選擇權買賣權未平倉比值(Put/Call Ratio,P/C值),將大盤的多空趨勢分成「紅、綠、不明」三個燈號。「當20日MA上揚,P/C值大於100%,這是綠燈訊號,可以做多;如果20日MA下彎,P/C值小於100%,這是紅燈訊號,可以做空或不做。」他強調,當二者指標只成立一項時,代表不明燈號,最好減少部位。
名詞解釋:台指選擇權買賣權未平倉比值(Put/Call Ratio)
為賣權未平倉量與買權未平倉量的比值,因未平倉量代表市場中尚未了結的力量,可看出大盤的支撐與壓力,比值大於100%代表市場認為下檔支撐較強,比值小於100%代表市場認為上檔壓力較強。
以近半年大盤走勢看來,現階段布林通道中線呈現上揚,P/C值大於100%,就是可以做多的綠燈訊號。
第二招:進場鎖定 飆股型態
以布林通道操作個股,方法是在布林通道之間來回做多、甚至放空,事實上就是看懂3條線,在其間低買高賣。但阿水一開始實際操作發現,並非每一檔個股都可以靠3條線賺到錢,「以為在股價接近通道底時買進會賺錢,偏偏個股就是弱勢繼續往下跌;認為在股價接近通道頂時放空會獲利,它就是漲上去硬軋空。」
既然方法不是放諸股海皆準,工程師出身的阿水便縮小範圍,鎖定熱門排行榜上的強勢股,內化出一套飆股投資法,「我發現飆股都有共同的長相,那就是某一天突然股價上漲,之後便一路往上飆,細看它們的布林通道型態,股價都是在起漲當天帶量突破通道頂。」
於是,在研究過無數線型後,阿水終於悟出飆股必須同時符合3要件:股價壓縮至少10個交易日、成交量出現過去5日均量的2至10倍、當日收盤價突破通道頂且收紅K棒。「壓縮、帶量、紅K突破通道頂」是他倒背如流的賺錢口訣。「只要符合3要件,我會觀察個股近期有沒有題材,否則何來強勁買盤?認同就會進場。」
阿水認為,大盤就像大海,要挑對行情好的時機才容易開心賺。© 由 Mirror Media Inc 提供 阿水認為,大盤就像大海,要挑對行情好的時機才容易開心賺。
由於阿水自認是「價差交易者」,而非「價值投資者」,因此他謹守停利停損原則,「買進之後,如果看錯、賠超過5%,立刻停損出場;停利點則是跌破布林通道中線,或大盤出現紅燈或不明訊號時,我也會收回資金。」過去10年來,靈活進出讓他維持大賺小賠的成績,其中,玉晶光、國巨、華亞科、台表科都是近2年每次出手有1至5成不等獲利的操作名單。
 

專職投資 財富自由

跟著阿水學投資的助理葛先生表示:「水哥也會教我留意券商分點進出,觀察哪些個股可能有大戶鎖定,如果功力和實力不夠,很容易就被修理。另外,有些小型股也要斟酌進場部位,否則沒人追捧、只有自己玩,股價也不會動。」
因曾在股市走過很多冤枉路,阿水(左)不吝傳授賺錢技法給有心學習的人。© 由 Mirror Media Inc 提供 因曾在股市走過很多冤枉路,阿水(左)不吝傳授賺錢技法給有心學習的人。
旁人都很羨慕阿水28歲就離開職場,成為專職投資人,但其實他在成為市場贏家之前,也有過一段賺少賠多的痛苦期,當時因為找不到獲利方程式,把工作年薪都搭進股市裡,氣餒得不想再碰股票,直到看到電影裡洛基的一席話,才喚起他的不甘心。
事實上,阿水因為身高沒有當兵,比同儕更早進入科技業歷練,「我什麼都做,爭取外派,也從不抱怨老闆。」完全投入職場的結果,阿水27歲就當上美商科技公司在台的IT主管。「有一天我凌晨3點下班,走出公司看到對面的聯發科大樓全是暗的,我居然比竹科數一數二操的公司還晚下班,當下我就下定決心要脫離這種生活!」
阿水曾是外派美國的科技新貴,靠著投資有術,28歲就早早開除老闆。(股市阿水提供)© 由 Mirror Media Inc 提供 阿水曾是外派美國的科技新貴,靠著投資有術,28歲就早早開除老闆。(股市阿水提供)
阿水的媽媽受訪時表示:「當IT主管的薪水不錯,還能領到公司在美國上市的股票,我也勸他別離職,不過,阿水說他的人生一定要實現財富自由。」現在回頭看,阿水真的辦到了,36歲就擁有3間房,現在還是自己人生的老闆。
前年玉晶光在業績、股價都有好表現,阿水靠著布林通道來回操作獲利豐碩。© 由 Mirror Media Inc 提供 前年玉晶光在業績、股價都有好表現,阿水靠著布林通道來回操作獲利豐碩。
© 由 Mirror Media Inc 提供
操作心法
  1. 布林通道以20日移動平均線(20日MA)為中線,上下加減2個標準差為通道頂及通道底,一般券商軟體多設定2個標準差,但股市阿水採2.1個標準差,避開過早出場。
  2. 「壓縮、帶量、紅K突破通道頂」是股市阿水做多的賺錢口訣,他心中的好股必須股價壓縮至少10個交易日、成交量出現過去5日均量的2至10倍、當日收盤價突破通道頂且收紅K棒。「在操作上,壓縮和帶量是有妥協空間的,但是紅K突破通道頂一定要符合。」阿水解釋,壓縮期會希望布林通道越窄越好、時間越長越好,但如果沒有壓縮達10個交易日,至少一定要經過盤整,因為有的個股可能已經漲過,通道未必窄;帶量的妥協標準則是低價股超過10倍、高價股則是1.7倍。
  3. 以型態或線型選股,高手可能不執著於基本面,但阿水堅持負債比率逾50%的個股不碰,除此之外,日成交金額小於1千萬元(如股價10元以下、5日均量1千張以下)、大型牛皮股及上檔壓力大的個股,他也認為不適用此招。

2019年4月4日 星期四

2019都市更新條例 資料



2019.04.18經濟日報

2019.Aug.31
危老重建計畫核准案例
我家附近 也有三棟公寓 基地才六十坪
立案了[:D]

聽說 現在雙北各區
有些鄰居自己串連都更了

面積很小也可以

新北市淡水區關渡段479地號等6筆
新北市三重區龍門段935地號等3筆土地

約六十坪小基地危老重建 容積率加碼
營造成本
pcdvd討論  下列圖片來源PCDVD


大陸工程都更
2019木柵  巷子一樓案例   大陸工程
 土地持股八坪 配 8x3.75坪,  另送一車位.  因一樓加配1~2坪.

2020

新莊都更案整合22年沒結果 改這樣做3個月搞定

"不過住都中心擔任顧問,堅持實施方式是公平、公開、透明的「真權變」,不可能有任何私下協議,力求打破以往「最後一戶條件會更好」的都更錯誤迷思,以求建立都更戶互信。

三個月下來,某天住戶突然來到中心想看契約及權變報告書,並表達他們對民間辦理都更的擔憂,經過中心一再說明「公平、公開、透明」的辦理原則,不久後該住戶即卸下心防,主動簽約完成選屋。"


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". <<< 不外接設備 重新上傳成功,                 如此不用每次都編譯再加上傳, 速度快很多了!