在这个困难的时刻,国内STM32芯片的价格已经飙到天价,daodanjishui要做的事就是逐步淘汰使用美国芯片和美国的软件,把创作的重心放在国产芯片和国产软件上,所以打算把压箱底的物联网控制的安卓APP源码奉献给大家,总所周知安卓界面的开发是基于XML的,可能我以后也用不到了,准备转战开发国产鸿蒙操作系统生态开发,放弃安卓应用开发,因为我深信鸿蒙操作系统的UI界面是可以用JavaScript和Java开发的,今年4月17日上午十点左右,HarmonyOS开发者日在上海举行,虽然我没有参加,但是我知道这个物联网时代真的到来了。
为什么鸿蒙操作系统的UI界面是可以用JavaScript和Java开发的?原因就是我已经能做到这个效果了,下面将会隆重推出我daodanjishui推出的国产单片机芯片跑javascript(js)语言的重磅开源项目软件方案:
(1)该方案的一大特色是在ESP8266单片机跑js代码(在代码截图上可以看到我js的代码,一点都不假),利用ESP8266本身的高速wifi网络实现手机浏览器与单片机数据上传和下载交互,直接避开串口wifi的瓶颈,享受高速wifi速度,并且利用手机浏览器显示屏替代了单片机的OLED显示屏。
(2)该方案的另一大特色是在ESP8266单片机跑js代码通过高速wifi直接跟daodanjishui出品的安卓手机APP源码交互,不再使用任何浏览器,达到手机与单片机数据上传和下载(截图会有toast显示单片机返回的数据,一点都不假),这个功能跟我以前发布的javaweb服务器返回的消息是不一样的,因为这次是嵌入式网关ESP8266返回的数据。
优酷视频演示效果如下:https://v.youku.com/v_show/id_XNTE0MDA1MzY1Mg==.html
由于物联网时代的到来,万物互联,当然少不了wifi芯片,在嵌入式设备中基于成本等方面的考虑,ESP8266和ESP32芯片脱颖而出,该国产芯片雄起,并没有受到中美芯片之争导致价格上涨。发展国家科学技术从我做起。虽然我不能制造国产芯片硬件,但是我可以针对大部分国产芯片编写物联网软件生态,购买我的开源软件就相当于支持国产,下面引出正题。
我现在针对电路城网站做出的物联网作品有:基于ESP32视频监控机械臂系统(上位机和下位机)、ESP8266彩灯矩阵系统(上位机和下位机)、ESP32国产物联网照相机系统(上位机和下位机)、ESP8266+Zigbee开源农业大棚监控系统(上位机和下位机)等等,打算都开源了,只不过写教程比较花时间,代码已经全部都是亲力亲为写好的,例如现在智能灯系列的如下图所示。
其实大家都知道,网上很多免费的开源项目代码是不全的,比如什么智云,什么壳物联网,什么法云,什么开发者平台等等,还有某宝那些什么收费开源的开发板或者套件,它们对应的硬件套件也不贵,几十块就可以买到一套,某宝还有很多卖家互相抄袭资料互相攻击,都说自己是原创的,谁又侵犯谁的权力,谁是原创的都不知道了,呵呵,资料下载得越多越发现学习更困难,因为你不会辨别真伪。它们都有一个共同的缺点:代码不全。
我曾经也为了图个新鲜下载了某个云的SDK开发包开始学习物联网控制技术,后面才发现入坑了,服务器的代码根本没有,就算你学会用了开源的手机APP控制设备,但是你的APP必须依赖人家的服务器,就像美国的GPS卫星,如果我们中国没有北斗卫星,关键时候被掐脖子就玩完了。所以一般私人小型公司开发物联网套件不会去用三大云机构的服务器的,都是自己自主开发的服务器的,产品价格也实惠。但是也有一个缺点,小公司生命脆弱,一旦倒闭了,云服务器就挂了,买的设备就成砖头了。
购买过我服务器的买家都知道,我云服务器代码虽然不大,但是全部是开源能运行的,我现在也在不断完善自己的服务器代码,有好几种版本:包括JavaWeb服务器,Java后台服务器,WebSocket服务器,Http服务器,ESP32嵌入式服务器,OpenWRT路由器服务器,Linux应用服务器等等,曾经害怕服务器开发到现在喜欢上服务器开发,源于自己对自己兴趣爱好的坚持,很多人怕自己辛苦写出来的代码低价卖给别人,别人就复制了你的成果,呵呵关键的是自己有没有核心竞争力,别人不断模仿,自己却不断地超越上一次的成就,就像我的电路方案不会一下子把所有的功能写完一样,就像国产华为手机不会出一款顶级配置的终结者手机一样。不管怎么样,我都希望购买我电路方案的买家学到真正核心物联网技术。
下面才是正式搭建arduino ESP8266开发环境的步骤和运行用网页点亮普通RGB灯源码的步骤
硬件采用的是:
- mini D1 wifi ESP-12F N ESP8266开发板十块钱
- 普通RGB灯6毛钱,
- 普通白光LED灯,
(1)第一步下载Arduino IDE安装,双击下一步,下一步,直到完成,建议不要中文路径。
(2)下载ESP8266安装包插件,这是最方便的,如果在Arduino里面搜索安装,你会发现很慢,特别是在这个紧张的芯片之争的关键时期下,按照这个网址去下载:https://www.arduino.cn/thread-76029-1-1.html
(3)双击(2)下载的三个包中的一个,我双击安装的是第二个包,重启Arduino就可以安装好了。
安装好之后你会发现开发板选项多了ESP8266这类的开发板。实在不行就找其他教程再试试了,没有必要一步一步教这个开发环境搭建。
(4)打开我的工程:双击打开,
一看就知道ESP8266创建一个AP热点供笔记本或者手机链接上去,没有密码的。
(5)配置开发板和串口信息
注意选择的是什么型号的开发板型号还有你自己开发板连上电脑之后是占用的是哪个串口号
(6)按照源码的IO口连接RGB灯,再点击下载
#define LAMP_PIN 16 //照明灯--D0--GPIO16,高电平触发灯亮,所以灯的长端接GPIO16,短端接地
#define LAMP_PIN1 14 //R--D5
#define LAMP_PIN2 12 //G--D6
#define LAMP_PIN3 13 //B--D7
注意了灯的GND与单片机的GND相连。代码中生成三路PWM波控制三个RGB管脚对应的灯丝发光。
下载完成即可运行程序了。
(7)用手机浏览器测试软件和硬件
ESP8266下载程序完成之后自动重启,开启了一个名字叫:DNSServer example的热点没有密码
用手机wifi连上之后,在浏览器输入192.168.4.1,这个网址是我写死的,就会进入下面的主页:
开始测试,点击发送按钮:send 就会看到红色的字体,这是ESP8266给的反馈信息,根据这个知道机器是否响应了你的请求,这个反馈不知道有多少人都调不出来,如果我不收点钱啊,人人都能有了,同时看到灯变化了,红灯r亮度值是168,注意了,提交表单的时候页面不会跳转,市面上的软件方案有百分之八十的都会跳转,而我的没有,不信你可以试试页面上那个“提交表单指令测试”,体验一下跳转页面。所以很容易改造为wifi遥控器,如果我不收点钱,大家都有了。想免费占便宜的看我代码截图,如下所示:
然后继续红绿蓝三个灯丝合成组合的颜色效果,需要用手调节滑动条(这个滚动条在ESP8266里面实现不知道有多少人做不到,并且滚动的时候能实时响应和反馈回来,如果我不收点钱啊,人人都能有了):
最大的亮度是1024,最小亮度是0,相当于熄灭,最漂亮的颜色比例的如下(223行代码,不知道能值多少钱呢?呵呵,这次收28块编辑费吧,算单片机代码13块,手机app15块,去到哪里也不会那么便宜的,还支持售后服务,那去哪里找呢?来这里,到此差不多要结束了,写了半天了。)
(8)搭建Eclipse安卓APP开发环境,这个在网上教程特别多,我就不细说了,但是需要注意了我的安卓工程源码是基于安卓系统4.3做的开发,所以版本问题买家自己解决,网上也有方案解决的。Android studio版本的代码我没有写,如果要我写,那么必须加价了,因为我懒得写了!其实两个IDE用哪个都无所谓,工具而已,核心的东西是编码(使用工具的策略),下面是打开工程的截图:
为什么说是最简单的?因为的代码量是同行最少的。
把编译生成的目录bin下面的apk文件传给手机打开如下:
操作app上的控件,发现单片机返回数据给手机显示出来了。如下图所示:
黑色的toast显示的“···is OK”是由单片机返回的数据,不需要打开浏览器也可以返回,代码段如下:
最后放一张手机控制照明灯和RGB灯的效果图:(开灯和关灯控制照明灯,滑动条控制RGB灯,照明灯开灯的时候有一个渐变亮度变大的过程,这样适合人的眼睛过渡,不会一下子不适应,下载源码的买家可以亲自体验一下。)
后面还有更多精彩,免费和收费开源共存,欢迎广大DIY爱好者前来咨询。
如果是安装开发环境出了问题,那么请大家仔细上网搜寻解决问题的方案
如果是怀疑我代码写错了,那么是不可能的,代码我自己写,自己硬件测试。
如果有更多的需求请私下找我交流,我缺的不是技术,而是一个奇特的想法或者创意······