介紹
下面這個圖里的這個就是D-duino了,和NodeMCU對比來說最大的特點是集成了一塊OLED,有了這個OLED屏,就可以做很多事情了,接下來我會做一系列的項目教程來介紹怎樣利用這塊OLED屏。你可以在淘寶搜店鋪"DSTIKE"來找到我的店鋪。
D-duino和X-8266其實都是NodeMCU的變體,如果你知道怎樣燒錄NodeMCU的話,本教程也可以略過不看了。
D-duino分為D-duino和D-duino-B,D-duino有一塊0.96寸的OLED屏,D-duino-B則有一塊1.3寸的OLED屏。
準備工作
CP2102的驅動,可以到這里下載
http://dong-sen.com/faq/
當你下載好了,連上D-duino,電腦右擊屬性然后設備管理應該會看到:

Arduino 環境下的編譯
首先,先去官網把最新的Arduino IDE下載下來https://www.arduino.cc/en/Main/Software然后,打開文件 >> 首選項 ,在附加開發板管理器那里填入:http://arduino.esp8266.com/stable/package_esp8266com_index.json然后點“好”。
當然還沒完,然后在工具>>開發板>>開發板管理器,在這里搜索ESP8266,然后安裝。
當你安裝好后重啟Arduino IDE就可以看到ESP8266的很多例子已經集成到IDE里面了。
當然,對于D-duino來說,還差一步,需要安裝OLED的控制驅動。請下載https://github.com/squix78/esp8266-oled-ssd1306 這個文件然后解壓到Arduino的library文件夾里面
然后你可以在Arduino IDE 里的示例找到這個驅動的例程,這個ESP8266控制OLED的library是目前最好的OLED驅動。
然后你可以用這個SSD1306SimpleDemo的例程來測試D-duino了。你需要將代碼中的這段話SSD1306 display(0x3c, D3, D5)修改成SSD1306 display(0x3c, D1, D2)D-duino中的OLED都是用D1(SDA)和D2(SCL)來控制的。修改后點擊下載之前 先確認一下配置,按下圖的來就可以了
然后點擊下載按鈕,你的D-duino應該就可以開始在Arduino下完美運行了注意:D-duino按照上面的控制就可以了,但是D-duino-B和X-8266支持的都是1.3寸的OLED,需要你稍微修改一下代碼,1.3 OLED都是SH1106驅動,所以將你的代碼里的SSD1306都改成SH1106,#include "SSD1306.h" 也要修改成#include "SH1106.h",然后大功告成。
以上在Arduino IDE下控制D-duino,D-duino-B,X8266的教程結束,接下來我介紹一下怎么用LUA控制D-duino,D-duino-B,X-8266.NodeMCU環境下的編譯
第一步:下載ESPlorerhttps://esp8266.ru/esplorer/
如果你英文好的話就看一眼這個頁面上的getting started,不好的話就繼續看我的土漢語介紹吧。這個軟件是java的你需要提前在你電腦上裝好Java。然后我們需要一個最新的NodeMCU固件,我們打開http://nodemcu.readthedocs.org/en/dev/en/build/這個固件是在云端編譯的,填入你的E-mail固件編譯好后會發送到你的郵箱里。根據你的需要選擇你的模塊,注意一定要勾選上U8G和IIC模塊
注意當你用D-duino-B或者X-8266時選擇U8G后紅框里的部分要對應修改成SH1106的。不懂上面這些模塊對應的意思的話 打開http://nodemcu.readthedocs.io/en/master/ 都是英文的看著肯能費勁,不過當你需要的時候就得好好啃一下英語了然后點擊start your build,你會收到一封郵件提示你的固件已經開始編譯,大概過個五到十分鐘你就會收到編譯好的郵件通知了,郵件里會有兩個鏈接,我一般會下載那個integer的那個,文件大小會小一些。下載后就可以開始燒錄進D-duino里面了。燒錄固件的話你需要一個燒錄工具,在這里下載:http://dong-sen.com/wp-content/uploads/2016/02/ESP8266Flasher.rar打開它:
這里的Baudrate可以隨便選,當你的D-duino刷不進去時,換一個低的波特率試試。其余的按圖中的設置,SPI Mode一定是DIO模式。然后在Config中點擊那個小齒輪,選擇你自己編譯好的固件。開始地址是默認的0x00000.然后點擊Operation中的Flash,燒錄開始。
當燒錄結束時左下角會有一個綠色的小勾。表示燒錄完成!
然后我們就可以歡樂的打開Esplorer開始用LUA編程了。打開Esplorer
記住com口要選對,波特率一定要選擇115200,貌似新版的固件的波特率都是115200了,點擊一下板子上面的RST按鈕,軟件界面可能會出現Formatting file system, Please wait...那就等一會好咯,過一會應該會出現這個界面:
右側的窗口出現這些命令行時就代表連接成功,初始化成功,我們馬上可以在左側的界面寫程序了,寫程序前先斷開 port.記住如果你是初學者,就乖乖的把所有代碼寫進單個文件并保存成init.lua. D-duino只啟動這個名稱的文件。當你對LUA和硬件有一定了解時,就可以將程序分割成多個文件一起保存在D-duino里面通過init.lua啟動你寫的程序文件就可以了。這里我提供個WiFi掃描儀的小例子wifi.setmode(wifi.STATION) --Set mode to STATION so he chip can receive the SSID broadcastfunction init_OLED(sda,scl) --Set up the u8glib lib sla = 0x3c i2c.setup(0, sda, scl, i2c.SLOW) disp = u8g.ssd1306_128x64_i2c(sla) disp:setFont(u8g.font_6x10) disp:setFontRefHeightExtendedText() disp:setDefaultForegroundColor() disp:setFontPosTop()endinit_OLED(1,2) --Run setting uptmr.alarm(0,3000,1,function() --A timer, which used to run the following PRogram wifi.sta.getap(function(t) disp:firstPage() repeat lines = 0 for k,v in pairs(t) do disp:drawStr(0,lines * 11,k.." "..v:sub(3,5).."dbi") --Print the data out lines = lines + 1 end until disp:nextPage() == false end)end)你可以將這段代碼復制到Esplorer左側的代碼窗口。然后點擊保存到桌面或者任意一個位置。要保存成“init.lua”然后再打開這個init.lua. 然后波特率選擇115200(記住一定是115200),然后點擊open,連接上D-duino后點擊那個save to ESP. 然后應該就會成功了。有時候會卡死,這時候就需要你重刷一下固件或者連上后點擊軟件最右側的Format,這些都是經驗之談,多試幾次一般就都明白怎么回事了。 最后附上一張效果圖,希望大家可以多多支持D-duino.