收藏官网首页
查看: 110716|回复: 79

SOC方案,利用ESP12F模块来做智能插座(完结)

16

主题

67

帖子

1113

积分

金牌会员

Rank: 6Rank: 6

积分
1113
QQ
跳转到指定楼层
楼主
发表于 2017-9-22 10:11:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
本帖最后由 彩色笔 于 2017-11-2 21:03 编辑

      从一个什么都不会的小白,到做出一款智能插座我用了三个多月的时间,其中趟过的坑真是数不过来。在此特别,特别,特别真诚地感谢群里和论坛上的各路大神。尤其是下面这位大神给我帮助最多。感谢感谢。

    可能教程更新过程会比较慢,但我在此保证肯定会完结,这是我向以上大神的承诺。也是让后面来的小伙伴们更快地做出自己想要的东西。程序和PCB我会全部公开。     先来几张图镇镇场,吸引下你们的学习兴趣。
   
软件条件:

          1、Eclipse安装了吗?我推荐用安信可的。论坛上搜,有相关帖子。
          2、Android Studio安装了吗? 我只会安卓的,而且还特别菜。
          3、其它软件,PS,AD分别用来处理图片和PCB布板,当然你也可以用别的软件来做。                           





硬件条件:
          1、ESP12F ,淘宝上安信可店12元左右。
   以上准备好了,我们就去官网自己的账号下建立产品项目吧。

第一部分,官网上建立项目
机智云关于插座这块有模块数据点,我们可以利用下,如下图操作。
   


2、修改和增加数据点
  

关于数据点要说一下,后面系统自动生成APP端和MCU端,都是根据这里的数据点“标识名”来生成的,所以取名时花点心思,方便以后自己或别人判读。生成后端代码之前,这里要多想想需要哪些数据点,以后再来增加,操作起来就很麻烦了。增加后需要重新生成。  看到这里,如果有好方法的朋友,一定不要吝啬,请分享下你的办法帮助更多人。
3、应用配置生成



4、选择“应用开发”生成APP端的框架


在“
Product Secret:”处填入编码,这个编码在“基本信息”栏里找,如下图




点击:“显示完整密钥”,在密码框内输入你账号的登录密码,然后将完整的密钥复制下来。粘贴到应用开发内。然后点击,“生成开发包”,等待APP端开发包生成后下载下来。



5、生成设备端代码,点击“MCU开发”
     ESP12F本身就是个单片机,考虑到插座体积和功能,我选择SOC方案,够用了。
     ESP12F选择32M。现在官方功能有增加了,有不同内存版本的可选了。以前询问机智云技术,推荐用12F来搞,现在难道ESP-01S也可以做了?  至于哪个型号对应哪个容量 ,还没查,后期补,知道的帖下留言。
   
输入密钥后,同样生成。等待后,下载下来。

第二部分,硬件原理图和PCB板设计

外壳厂家地址:https://detail.1688.com/offer/554695408415.html?spm=0.0.0.0.u6xmmj
        在进行硬件电路设计前,首先要考虑的是内部供电问题,衡量各方面条件,最终内部供电采用深圳深鸿盛 KP3211SG,非隔离降压IC。注意:如果采用KP3210 APP上操作快速多次开关时,动作会失控,最终原因是电流不够导致的。故你们在选IC时,输出电流要>=500mA 为好。
       为什么采用这款IC,首先有两点考虑,1、输出电压可调,2、供电电流能够满足。3、电路结构简单
继电器常规最小控制电压是5V的,而ESP12F  供电电压是3.3V,可采用ASM1117-3.3V 线性降压IC,这里压降要尽量小,如果供电电源输出是12V的,将会导致线性降压IC损耗过大,发烫,长期使用会损坏。故输出电压我选择5V。

      ACS712是霍尔型电流传感器,根据通过的电流会产生一个电压,我们经过分压后,传给ESP12F的AD引脚进行采样,根据计算得到能耗值。该功能目前我还未进行,只是PCB上有设计。关键AD采样不怎么明白,希望AD操作成功的朋友指教一二。





      PCB板上,继电器采用的HF- JQX-115F-I- 005 012 024-1HS3(555) 6脚 5V 16A宏发继电器,体积有些大,需要改造下外壳。如果用宏发5V 10A的 就不必改了,尺寸刚好。

   

第三部分 手机APP端UI设计

      完成PCB布局后,在发出打样的这几天里,我们可以进行APP端的设计。
      解压缩文件后,我们可以看到如图两个文件,入门推荐用Android Studio来做。

         

       将图中AndroidStudio文件拷贝到项目文件夹内,改名为“SmartSocket”,然后用Android Studio软件导入项目。
       现在让我们来把机智云的框架改成自己的,从启动到操作界面来个大换血。

      打开文件后,下图就是程序中的各个界面了。

         


下面就是每个界面对应的layout文件和其名称,找到后对应修改。

   activity_gos_user_login.xml



activity_gos_device_list.xml注意:新版APP生成包,在进行这版面编辑时,出现错误,“Missing classes”鼠标滚动到下面。找到下图,点击"Build",可修复错误



activity_gos_airlink_choose_decive_workwifi.xml

activity_gos_modelist.xml

activity_gos_airlink_ready.xml


activity_gos_device_control.xml
花费最多时间的就是这个界面了,程序操作的界面,这个地方我们需要会一些PS技术来美化它。


  
   功能和界面设计,从配色到布局可以先在PS中设计好,今天将老的界面升下级,这次要增加一个定时功能,老版是只有延时开/关功能。
   在这里分享个人经验,可以从网站下载相关的 PSD文件,将有用的文件导出成单个素材,先在PS中预览效果,满意保存下来,后期程序中引用。最终的PSD文件放入项目文件夹中保留。   由于个人技术比较菜,又喜欢比较炫的效果,目前只能PS了。如果有安卓技术可以,建议还是在 Android Studio中用文本来写,这样中、英文版本后期好处理。


第四部分   APP端程序代码添加
       找到activity_gos_device_control.xml打开,设置界面布局,PS好的按钮和背景替换。这些操作详细方法就不提了,自己搜索吧。参考机智云官方的方法来进行。地址如下:
      http://docs.gizwits.com/zh-cn/quickstart/AndroidAppFrame.html

设置好的界面样式

如何快速找到该界面对应的JAVA文件。 点击左下角“Text”,找到如上图的C标识,点击,可快速定位到对应的JAVA文件。    程序文件我上传了,内部每处用户可添加的地方,我都作了注释,可参考。我也是边百度学习边修改的,程序可优化之处,请大神提出建议。
    APP端可利用项目内“虚拟设备”来进行上位机端的调试。    其它部分的APP修改,我就不多说了。套路差不多。PS后修改。


插座APP端Java.rar (6.53 KB, 下载次数: 313)




第五部分,SOC端程序

完成了。带掉电记忆功能。功能调试了下,没有问题。考虑到许多人还在摸索,所以尽快传上来了。如果有好的建议请在这下面回复。
gizwits_product.rar (4.33 KB, 下载次数: 642)
BUG修复:
1、联网配置时,LED不会反复闪烁,已修复。
2、还有加入了AD采样。
基于有人询问user_main.c里的程序,增加了如下代码:、

bool PowerONOFFFlag;//电源开关标志位
bool airLinkFlag,airLinkLEDFlag;//联网标志位




到此全部完成,SOC程序以最新的为准,如果还有其它BUG,请留言。








16

主题

67

帖子

1113

积分

金牌会员

Rank: 6Rank: 6

积分
1113
QQ
推荐
 楼主| 发表于 2017-10-24 19:52:08 | 只看该作者
本帖最后由 Genius 于 2017-11-15 10:01 编辑
guge 发表于 2017-10-22 23:27
楼主能把在Eclipse编译SOC代码这部分详细的贴出来吗?我下载的代码烧进去,一直报错。就是这个链接描述的问 ...

烧录,请看我另一篇文章,关于烧录的。搜索“从小白一步步走来,ESP8266模块使用,环境搭建,编译和烧录”http://club.gizwits.com/thread-6447-1-1.html

0

主题

18

帖子

732

积分

高级会员

Rank: 4

积分
732
推荐
发表于 2017-10-7 10:01:28 | 只看该作者
很多代码不会写,等着学习一下,希望楼主更新下文,多谢

321

主题

1054

帖子

4513

积分

论坛元老

Rank: 8Rank: 8

积分
4513
QQ
推荐
发表于 2017-9-25 21:19:43 | 只看该作者
感谢分享,esp8266的ADC使用可以看看这个帖子http://club.gizwits.com/thread-5453-1-1.html
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

0

主题

7

帖子

44

积分

新手上路

Rank: 1

积分
44
5#
发表于 2017-9-22 18:37:20 | 只看该作者
汉枫LPB120模块
感谢楼主分享,坐等下文

8

主题

144

帖子

3308

积分

论坛元老

Rank: 8Rank: 8

积分
3308
6#
发表于 2017-9-23 11:10:38 | 只看该作者
先上个代码撒,让我们预热下

0

主题

6

帖子

96

积分

注册会员

Rank: 2

积分
96
8#
发表于 2017-9-25 19:14:17 | 只看该作者
支持   持续关注中   正在准备楼主的这些材料 跟着楼主走。。。

0

主题

6

帖子

96

积分

注册会员

Rank: 2

积分
96
9#
发表于 2017-9-27 20:13:02 | 只看该作者
楼主更新得怎么样了啊?

0

主题

18

帖子

732

积分

高级会员

Rank: 4

积分
732
10#
发表于 2017-9-30 14:47:56 | 只看该作者
校园创客福利
大神的技术贴,必须持续关注,期待更新....

1

主题

6

帖子

214

积分

中级会员

Rank: 3Rank: 3

积分
214
11#
发表于 2017-10-5 19:56:06 | 只看该作者
正在学习,希望楼主能尽快更新

0

主题

1

帖子

64

积分

注册会员

Rank: 2

积分
64
12#
发表于 2017-10-11 14:58:24 | 只看该作者

感谢楼主分享!学习中。。。

0

主题

18

帖子

732

积分

高级会员

Rank: 4

积分
732
13#
发表于 2017-10-11 19:10:00 | 只看该作者
你好,user_main.c能提供资料吗

16

主题

67

帖子

1113

积分

金牌会员

Rank: 6Rank: 6

积分
1113
QQ
14#
 楼主| 发表于 2017-10-11 20:47:41 | 只看该作者
本帖最后由 彩色笔 于 2017-10-12 16:47 编辑
寒枫 发表于 2017-10-11 19:10
你好,user_main.c能提供资料吗

user_main.c  上面已帖出。请查看。

5

主题

28

帖子

321

积分

中级会员

Rank: 3Rank: 3

积分
321
15#
发表于 2017-10-15 21:20:47 | 只看该作者
注册成为机智云开发者,手机加虚拟设备快速开发
真不错,很详细,感谢分享

2

主题

11

帖子

174

积分

注册会员

Rank: 2

积分
174
16#
发表于 2017-10-17 17:31:18 | 只看该作者
学习了,谢谢分享

17

主题

100

帖子

1381

积分

金牌会员

Rank: 6Rank: 6

积分
1381
17#
发表于 2017-10-19 11:42:56 | 只看该作者
楼主大大,关于“重复”这个怎么做的?

16

主题

67

帖子

1113

积分

金牌会员

Rank: 6Rank: 6

积分
1113
QQ
18#
 楼主| 发表于 2017-10-19 23:07:58 | 只看该作者
AIcainiao 发表于 2017-10-19 11:42
楼主大大,关于“重复”这个怎么做的?

重复就是将初始值保存下来,程序运行时,当条件达到,就将初始值恢复,程序又重新读数

17

主题

100

帖子

1381

积分

金牌会员

Rank: 6Rank: 6

积分
1381
19#
发表于 2017-10-20 15:05:27 | 只看该作者
楼主大大,反复闪烁这个功能我在user_main.c里做了,怎么不能执行呀?

16

主题

67

帖子

1113

积分

金牌会员

Rank: 6Rank: 6

积分
1113
QQ
20#
 楼主| 发表于 2017-10-21 22:28:19 | 只看该作者
汉枫LPB120模块
AIcainiao 发表于 2017-10-20 15:05
楼主大大,反复闪烁这个功能我在user_main.c里做了,怎么不能执行呀?

请下载我最新的,以前的有这个问题。

点评

最新的就是你最后截图的那个吗?我才用的就是那个,没反应哦  详情 回复 发表于 2017-10-23 09:26

0

主题

2

帖子

38

积分

新手上路

Rank: 1

积分
38
21#
发表于 2017-10-22 23:27:12 | 只看该作者
楼主能把在Eclipse编译SOC代码这部分详细的贴出来吗?我下载的代码烧进去,一直报错。就是这个链接描述的问题http://club.gizwits.com/thread-7259-1-1.html   
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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