野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 73685|回复: 151

基于野火开发板的物联网系统(开发板源码和安卓手机APP,首版app源码已完成-2016-8-6

  [复制链接]
发表于 2016-7-30 19:48:43 | 显示全部楼层 |阅读模式
本帖最后由 繁星雨夜 于 2016-8-8 21:33 编辑

一直对物联网这块的开发比较感兴趣,之前写过一些平台包括yeelink,lewei,onenet物联网平台进行数据上传的程序。了解了一下各物联网平台的特点,最终得出的结论是onenet是比较稳定而且功能强大的。onenet支持API KEY的权限管理(可以管理哪些设备)支持网页版的应用开发和发布,只需要拖拉几个控件和配置属性即可完成。支持数据流,可以对历史数据通过http请求进行处理。支持使用http请求进行设备管理包括设备的添加和删除,数据流的添加和删除等。onenet平台的这些特性就给开发的物联网产品提供简易的大批量生产提供可能。毕竟你不能要客户自己去网站注册添加设备,留给客户的工作越少越好。目前设想的批量方式是,当你的一台新终端在第一次开机时在平台注册一个设备和应有的数据流,并提供给用户设备ID以及APIKEY,用户在自己的APP上输入设备ID和APIKEY,即可从平台读取自己设备的专有数据,这一步如果用二维码扫描会更加便捷。

之前编写的物联网上传程序的硬件资源有限,许多东西比如设备ID和APIKEY都是写死的。这样程序只能在一套硬件上跑,两台同时刷一套程序就会出问题。此次依托野火的硬件和开机例程软件资源对开机例程里的wifiAPP进行重新开发,实现对设备ID和APIKEY的灵活处理,可以由通过触屏由用户输入。后期可以升级为对ID和APIKEY生成二维码,手机APP扫码读取物联网平台数据。

当然要把这些完全做好是一个漫长的工作,现在做的第一版的基础功能是。由用户在平台创建设备,然后在开发板上输入你的设备ID和APIKEY即可进行数据上传。目前还在做一些基础工作,代码在OSCHINA的git平台上:
https://git.oschina.net/fxyy/fire
对于会使用git的童鞋,可以fork我的代码,给我pull requests。对于之前不会或者没了解过的我建议了解和学习一下,这是个很强大的代码版本管理工具。可以解决很多你在开发过程中的痛苦。由于我们做硬件的软件开发工具落后专业做软件的5年以上(渣渣keil,说的就是你),所以做电子的很多对这些并不是非常了解,不过确实是好东西。学习链接:http://git.mydoc.io/。也可以直接在代码链接直接下载整套代码编译和使用

oschina代码下载方式

oschina代码下载方式

当把基础功能完成以后有了数据就可以进行基础版的APP开发,实现数据读取功能。

此贴和oschina上的代码会不定期更新,大家一起学习一起进步!


//---------------------- 2016/7/31日更新
托管在oschina上的代码已经可以实现对温湿度数据进行单次上传,后面我会继续改进上传功能。增加上传时间间隔设定以及把发送按钮更改为发送/停止 模式切换。上传的数据我做了一个公开应用,可以在这里看到:
http://open.iot.10086.cn/appview/p/081dfec482585014010cd1cdae90157f

//-----------------------2016/8/6日更新
托管在oschina上的代码已经可以先对温湿度的数据进行连续稳定上传,里面可能还存在一些BUG,后面再修。现在主要的任务是搭建APP,对这个项目的APP开发是拿我以前的一个做了一半的APP改的,并开始进行功能扩展。现在已经可以使用APP进行温湿度数据的读取,后面我会主要做一个图表。目前图表只是添加完成,功能还没做,只是个摆设。这份android代码只提供给大家一个可行的方案,认识到数据是如何从平台进行读取的。如果要学安卓的开发的话不要按照我的学,因为我写的是C风格的JAVA...推荐几本学习android的书:《android从入门到精通》、《第一行代码》、《疯狂android讲义》。都是比较通俗易懂适合入门的教材。一本java的书《JAVA编程思想》,这本书需要一定的基础才能看懂,入门的书我暂时不了解。从C转JAVA最重要的是转变为面向对象的编程思想,如何使用高级语言的特性优雅高效地完成自己的需求。我安卓开发的环境是Android studio 2.1.2 ,Gradle版本23.0.3,测试机 小米4C。代码链接:
https://git.oschina.net/fxyy/IOT
APK文件: IOT.zip (1.17 MB, 下载次数: 1797)

//-------------------------2016/8/8日更新
托管在oschina上的安卓代码已经初步实现对开源图表引擎AChartEngine的使用,实现温度数据在图表上以折线图的形式进行表现和更新。后面会再添加一组湿度数据。并优化图表的显示效果。上一张截图:
Screenshot_2016-08-08-21-27-21.png




回复

使用道具 举报

发表于 2016-7-30 20:11:34 | 显示全部楼层
不错,下来学习,还是用java的比较熟悉,api cloud的不会用
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:11:46 | 显示全部楼层
支持开源
回复

使用道具 举报

发表于 2016-7-30 20:12:34 来自手机 | 显示全部楼层
cool
回复

使用道具 举报

发表于 2016-7-30 20:14:44 来自手机 | 显示全部楼层
这个每个设备一个id,对应一个key,真的不错。现在底层这部分完成的怎么样,还有,板子上的wifi是esp8266,支持airkiss,可以再搞成一键配网,跟挑战者现在一样,通过手机给wifi发送路由器的账号和密码,然后根据这个账号和密码接入互联网,俗称一键配网 。
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:15:47 来自手机 | 显示全部楼层
esp8266还支持微信接入,这个腾讯已经给乐鑫这个芯片开放接口了,后面也可以把微信控制加上。
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:17:21 来自手机 | 显示全部楼层
随风 发表于 2016-7-30 20:11
不错,下来学习,还是用java的比较熟悉,api cloud的不会用

相比java,apicloud就是开发比较快,而且可以直接生成安卓和ios的apk,而java开发的就只能支撑安卓。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-30 20:24:35 | 显示全部楼层
fire 发表于 2016-7-30 20:14
这个每个设备一个id,对应一个key,真的不错。现在底层这部分完成的怎么样,还有,板子上的wifi是esp8266, ...

底层用例程里的那些修修改改就行了,主要的工作在POST数据这块。
先做基本数据上传和简易版APP,基础功能搭出来再升级功能
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:26:41 | 显示全部楼层
繁星雨夜,好熟悉的名字
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:27:36 | 显示全部楼层
点赞加支持。
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:29:02 来自手机 | 显示全部楼层
繁星雨夜 发表于 2016-7-30 20:24
底层用例程里的那些修修改改就行了,主要的工作在POST数据这块。
先做基本数据上传和简易版APP,基础功 ...

可以,一步一步来。
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:29:36 来自手机 | 显示全部楼层
我是老罗 发表于 2016-7-30 20:26
繁星雨夜,好熟悉的名字

对,你没看错,就是我们元老群里面的繁B
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:31:47 | 显示全部楼层
mark                     
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:35:19 来自手机 | 显示全部楼层
繁星雨夜 发表于 2016-7-30 20:24
底层用例程里的那些修修改改就行了,主要的工作在POST数据这块。
先做基本数据上传和简易版APP,基础功 ...

底层要不要改成你上次写的那个支持阻塞的那个历程。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-30 20:37:34 | 显示全部楼层
fire 发表于 2016-7-30 20:35
底层要不要改成你上次写的那个支持阻塞的那个历程。

有系统就不需要了,那个机制就是在裸机下防止阻塞的,系统下可以随意Delay
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:38:33 | 显示全部楼层
不错,期待你的app
回复 支持 反对

使用道具 举报

发表于 2016-7-30 20:41:23 来自手机 | 显示全部楼层
繁星雨夜 发表于 2016-7-30 20:37
有系统就不需要了,那个机制就是在裸机下防止阻塞的,系统下可以随意Delay

把你那阻塞的也发上来给大家学习下。带了系统,逼格又提升了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-30 20:43:49 | 显示全部楼层
flyleaf 发表于 2016-7-30 20:38
不错,期待你的app

学艺不精,只能写出C风格的JAVA……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-30 20:48:05 | 显示全部楼层
fire 发表于 2016-7-30 20:41
把你那阻塞的也发上来给大家学习下。带了系统,逼格又提升了。

那个回头另开一贴
回复 支持 反对

使用道具 举报

发表于 2016-7-30 21:01:18 | 显示全部楼层
点赞支持~~~~~
回复

使用道具 举报

发表于 2016-7-30 21:11:12 | 显示全部楼层
记得Yeelink,lewei刚刚出来的时候,我们还自己防了他们的平台。我当时也是做了几个典型的传感器上传到他们的平台,当时记得 他们采用的是JSON通信,通过HTTP,POST,GET等等来通信,每次几个字符,然后每个ID有一串KEY。后来随着项目的需要我们也开始做起了物联网+大数据的探索。这里讲到一个背景。咱们国家的三峡大坝(这里举个例子,不是说指的就是这个大坝,火电,水电,核电都是类似),包括地下,里面有二十多台机组,每台机组有每秒钟有成千上万个数据被导入到数据库,记得这个导入程序包括数据库是咱们的南*(这里不方便透露所以用*代替)给写的哈。采用的是键值对类型数据库,方便数据快速的录入。当然这么大量的数据要处理只能采用大数据了。 大数据说白了也就是要在数据分析上做文章了。举个例子,比如说咱们在测量发电机组转子的不圆度的时候会分别对贴在定子墙上的电容采取大量的数据,再通过最小二乘元等等诸如此类的算法计算,再通过控件展示出柱状图,极坐标等等以直观的给人判断和分析问题。这个数据其实对于减轻工作量和简化分析机组运行状态,启动,停止状态非常重要。包括其他的振摆,瓦温等等数据。在这里看到野火也在作者方便的事情,很感动。其实咱们国家的物联网行业还没有太明确的标准。我希望这个平台能够向更宽,更深的地方发展。希望这个平台能够用到类似于MongoDB之类的键值对类型数据库贴近大数据,做一些典型的数据算法和分析,方便咱们在项目中使用。更希望能够做成一个标准的平台来给大家使用。
回复 支持 反对

使用道具 举报

发表于 2016-7-30 21:19:18 | 显示全部楼层
fire 发表于 2016-7-30 20:15
esp8266还支持微信接入,这个腾讯已经给乐鑫这个芯片开放接口了,后面也可以把微信控制加上。

微信可以做公众号。开发个API。那就更过瘾了。到时候扫码,广告,传感器撒的,一扫录入。方便又平民化,人人物联
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-30 21:20:11 | 显示全部楼层
challee 发表于 2016-7-30 21:11
记得Yeelink,lewei刚刚出来的时候,我们还自己防了他们的平台。我当时也是做了几个典型的传感器上传到他们 ...

是啊,每一家的物联网平台的通信方式都不一样,很乱。如果有了标准就可以一次开发,适用所有平台了。就像浏览器一样,只要符合标准就可以打开所有网站。
回复 支持 反对

使用道具 举报

发表于 2016-7-31 09:08:48 | 显示全部楼层
虽然不懂,但是想学!!
回复 支持 反对

使用道具 举报

发表于 2016-7-31 09:31:34 来自手机 | 显示全部楼层
challee 发表于 2016-7-30 21:11
记得Yeelink,lewei刚刚出来的时候,我们还自己防了他们的平台。我当时也是做了几个典型的传感器上传到他们 ...

超神,这么大的数据量应该不是都上传到数据库吧,是不是要经过处理精简之后再上传。
回复 支持 反对

使用道具 举报

发表于 2016-7-31 09:32:03 来自手机 | 显示全部楼层
望蓝天 发表于 2016-7-31 09:08
虽然不懂,但是想学!!

跟着繁大神学。
回复 支持 反对

使用道具 举报

发表于 2016-7-31 09:32:33 来自手机 | 显示全部楼层
challee 发表于 2016-7-30 21:19
微信可以做公众号。开发个API。那就更过瘾了。到时候扫码,广告,传感器撒的,一扫录入。方便又平民化, ...

这个可以做,技术上不是太大问题。
回复 支持 反对

使用道具 举报

发表于 2016-7-31 09:53:16 | 显示全部楼层
fire 发表于 2016-7-31 09:32
跟着繁大神学。

跟着繁大神学。
回复 支持 反对

使用道具 举报

发表于 2016-8-5 14:35:41 | 显示全部楼层
不得不说,高手帖啊
回复 支持 反对

使用道具 举报

发表于 2016-8-5 14:36:04 | 显示全部楼层

跟着繁大神学物联网
回复 支持 反对

使用道具 举报

发表于 2016-8-5 14:36:39 | 显示全部楼层
这资料给力,赞
回复 支持 反对

使用道具 举报

发表于 2016-8-5 14:41:31 | 显示全部楼层
靠,我怎么现在才发现繁B的这个东西
回复 支持 反对

使用道具 举报

发表于 2016-8-5 14:44:38 | 显示全部楼层
强大, 不过为毛要吐槽下keil
回复 支持 反对

使用道具 举报

发表于 2016-8-5 14:47:14 | 显示全部楼层
扈婉容 发表于 2016-8-5 14:41
靠,我怎么现在才发现繁B的这个东西

是啊,牛逼的不得了啊,中国移动都邀请他去分享
回复 支持 反对

使用道具 举报

发表于 2016-8-5 14:47:32 | 显示全部楼层
汪曼丽 发表于 2016-8-5 14:44
强大, 不过为毛要吐槽下keil

很多人说Keil不好用呗,其实我觉得挺好的,
回复 支持 反对

使用道具 举报

发表于 2016-8-5 15:01:27 | 显示全部楼层
赞一个,很好
回复 支持 反对

使用道具 举报

发表于 2016-8-5 15:07:44 | 显示全部楼层
fire 发表于 2016-8-5 14:47
是啊,牛逼的不得了啊,中国移动都邀请他去分享

什么时候有繁B的一半功力也好
回复 支持 反对

使用道具 举报

发表于 2016-8-5 15:08:15 | 显示全部楼层
fire 发表于 2016-8-5 14:47
很多人说Keil不好用呗,其实我觉得挺好的,

我觉得还好哈,比IAR都要好,可能是一开始学的时候就用的keil吧, 习惯了
回复 支持 反对

使用道具 举报

发表于 2016-8-5 15:10:40 | 显示全部楼层
果断顶起,好东西
回复 支持 反对

使用道具 举报

发表于 2016-8-5 15:46:21 | 显示全部楼层
带我装逼带我飞
回复 支持 反对

使用道具 举报

发表于 2016-8-5 16:22:31 | 显示全部楼层
@繁星雨夜,我不是郭天祥啊!!!
回复 支持 反对

使用道具 举报

发表于 2016-8-5 16:58:19 | 显示全部楼层
想法不错  。。。。先学习学习
回复 支持 反对

使用道具 举报

发表于 2016-8-5 17:03:10 | 显示全部楼层
fire 发表于 2016-7-30 20:15
esp8266还支持微信接入,这个腾讯已经给乐鑫这个芯片开放接口了,后面也可以把微信控制加上。

微信会越来越火的,去年的时候,我接触了一下,今年一块,很多产品上了微信
回复 支持 反对

使用道具 举报

发表于 2016-8-5 17:04:11 | 显示全部楼层
huangweida 发表于 2016-8-5 17:03
微信会越来越火的,去年的时候,我接触了一下,今年一块,很多产品上了微信

好,后面加上微信控制。
回复 支持 反对

使用道具 举报

发表于 2016-8-5 17:18:52 | 显示全部楼层
fire 发表于 2016-8-5 17:04
好,后面加上微信控制。

你不加,时代会逼你加上去
回复 支持 反对

使用道具 举报

发表于 2016-8-6 15:17:56 | 显示全部楼层
支持支持学习学习
回复 支持 反对

使用道具 举报

发表于 2016-8-6 15:20:22 | 显示全部楼层
app终于发布啦,我克隆来学习下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-6 15:25:45 | 显示全部楼层
flyleaf 发表于 2016-8-6 15:20
app终于发布啦,我克隆来学习下

多多指教
回复 支持 反对

使用道具 举报

发表于 2016-8-6 15:26:54 | 显示全部楼层
支持快源。赞
回复 支持 反对

使用道具 举报

发表于 2016-8-6 15:27:39 | 显示全部楼层
等这个手机app等了好久啊,终于有源码学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-26 16:29 , Processed in 0.148198 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表