介绍
下面这个图里的这个就是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.