07075868
获得 1 次赞
帮助过21人
这里我们不讲keil, 不讲iar, 因为这些实在是太重量级了,跟我一起搭建个轻量级的,傻瓜式的开发环境 吧。 接下来请出我们的主角,github出品的跨平台编辑器atom, 以及platformio插件。 atom 免费开源,插件众多,所以一出来就有了众多用户。具体介绍可参见官网:https://atom.io/ , 下载安装,记得要添加path到环境变量中,一路next, 没什么好说的。 platformio是一个跨平台的代码构建器和library 管理。适用于嵌入式开发,ide和持续集成,兼容 arduino,mbed等。platformio已经预建不同的开发平台和预配置好的设置针对大部分流行嵌入板。 具体参见官网:http://platformio.org/ 我们的maps-k64f恰好属于支持的mbed平台。所以这个插件正适合我们。 其实platformio自己也出品了一个platformio ide,也是基于atom的,本质就是atom加一个platformio插件。由于 直接安装platformio ide会失败,原因是天朝屏蔽了一些国外网站。所以这里我们自己下载platformio插件来安装。 在github上下载zip文件:https://github.com/platformio/platformio-atom-ide ,然后解压到 c:users用户名.atompackages。 然后使用npm(额,这个可能需要安装nodejs,因为我一直用这个玩意,所以不需要额外安装)来安装这个插件,操 作过程如下,在cmd窗口中,切换到上述package中的platformio-atom-ide文件路径内,使用命令: npm install, 好了,大功告成。 现在打开atom,会提示你正在安装platformio-atom-ide,等待安装完毕后即可。 具体可参见我的另外i一篇帖子:http://www.ickey.cc/group-topic-id-66881.html 在使用这个ide之前,一些必不可少的硬件驱动程序是免不了的, mbedwinserial. 好了,安装完的界面如下图所示: 接下来我们
现在物联网,智能家居等概念炒得热火朝天,这里我也来凑个热闹,使用小e进行远程监控家里的温度和湿度等数据。 当然,这个应用场景你可以扩大到车间环境的数据监控等。这些原理都是一样一样的,通过传感器检测待监控对象的 数据,然后把这些数据上传到云端,进而实现通过云端的数据进行管理监控对象。 今天我要实现的是用小e远程管理家庭的温湿度数据。当然如果你有其他传感器,比如pm2.5传感器,甲醛测试传感器等, 可以实现更多的功能,这里仅以小e自带的温湿度传感器为例。另外这里要特别指出小e使用的是esp8266,这个低成本的 芯片不光具备连网功能,而且本身就是一个mcu,可以提供io,i2c,pwm等功能,真是应了那句“便宜也有好货”。 云端服务器我采用中国移动onenet物联网开放平台,配置简单,功能强大,可实时关注数据上传的数据。 在源代码面前没有任何秘密可言,这里附上源代码供大家参考: 应用界面展示: 手机客户端截图:
本节介绍如何使用pwm方式控制rgb led灯。 注意:本系列教程需采用本人前述章节中所述的开发环境来开发以及烧写。 rgb led封装内有三个led,一个红色,一个绿色的,一个蓝色的。通过控制各个led的亮度,可以得到任何想要的颜色。 小e采用共阳rgb led,共有4个引脚,一个电源引脚,接3.3v; 其余的三个为led(一个红色,一个绿色以及一个蓝色) 连接到电阻然后连接到esp8266的pwm输出引脚,这里我们用到了d12、d14、d15号管脚。 pwm(脉宽调制)是一种调制信号的占空比的过程,在本应用程序中使用来控制发送给每个发光二极管的平均功率。 在下面的图中,我们展示了三个不同的占空比,第一个有50%的占空比,另外两个是0%和90%占空比。 在10%占空比的图中,信号在每个周期内,逻辑高时只有一个短暂的时间。如果信号的频率足够快,那么就不会有 明显的闪烁,发光二极管的亮度与信号的占空比成正比。 下面的测试程序实现多种颜色渐变,看起来很漂亮,模拟图如下: 源代码:
将温度传感器的数值在屏幕上显示,如果用官方的资料很容易,但是自己另起炉灶,重新做,还是有点难度的。好在 经过我的调试,还是成功了。现在分享给大家。 工程目录: 源代码程序如下: 实验结果: 做了个开机画面,由于附上源代码了,大家可以结合源代码自己研读,现在太疲惫了,想睡觉了。下一节将会分享基于小e的物联网实验, 敬请期待。
小e扩展板使用了常用0.96寸oled屏幕。据资料显示,oled 由于同时具备自发光,不需背光源、对比度高、厚度薄、 视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的 平面显示器新兴应用技术。 lcd 都需要背光,而 oled不需要,因为它是自发光的。这样同样的显示oled效果要 来得好一些。以目前的技术,oled 的尺寸还难以大型化,但是分辨率确可以做到很高。小e用的是中景园电子的 0.96寸oled显示屏,该屏有以下特点: 1)0.96寸oled有黄蓝,白,蓝三种颜色可选;其中黄蓝是屏上1/4部分为黄光,下3/4为蓝;而且是固定区域显示 固定颜色,颜色和显示区域均不能修改;白光则为纯白,也就是黑底白字;蓝色则为纯蓝,也就是黑底蓝字。小e 用的是黑底白字屏幕。 2)分辨率为128*64 3)多种接口方式;oled裸屏提供spi 接口方式、 iic 接口方式等。 小e使用的是i2c接口的屏幕。 小e的oled电路图如下图所示。 基于esp8266控制这块屏幕,首先下载库文件 实验结果: 可以看到屏幕会四张画面交替显示,图片文字一网打尽。 接下来将结合屏幕和传感器做一个综合小实验,敬请期待。
小e扩展板使用了常用的温湿度传感器dht11,该传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应 用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个 电阻式感湿元件和一个ntc测温元件,并与一个高性能mcu连接。因此该产品具有品质卓越、抗干扰能力强、性价比 极高等优点。每个dht11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在otp内存中, 传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体 积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选择。产品为4针 单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。详细参考手册芯片手册, 小e的dht11电路图如下图所示。 下载库文件 ,解压工程文件的lib下。工程的目录如下图: main.cpp的完整代码: #include dht dht; #define dht11_pin 5 void setup() { serial.begin(115200); serial.println("dht test program "); serial.print("library version: "); serial.println(dht_lib_version); serial.println(); serial.println("type,tstatus,thumidity (%),ttemperature (c)"); } void loop() { // read data serial.print("dht11, t"); int chk = dht.read11(dht11_pin); switch (chk) { case dhtlib_ok: serial.print("ok,t"); break; case dhtlib_error_checksum: serial.print("checksum error,t"); break; case dhtlib_error_timeo