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

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

16

主题

67

帖子

1113

积分

金牌会员

Rank: 6Rank: 6

积分
1113
QQ
跳转到指定楼层
#
发表于 2017-9-22 10:11:22 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
教您5分钟接入机智云,实现傻瓜式开发
本帖最后由 彩色笔 于 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

主题

1

帖子

13

积分

新手上路

Rank: 1

积分
13
76#
发表于 2021-4-7 19:12:16 | 只看该作者
注册成为机智云开发者,手机加虚拟设备快速开发
对于新书,就是需要这样的教程

2

主题

21

帖子

325

积分

中级会员

Rank: 3Rank: 3

积分
325
75#
发表于 2020-9-1 10:31:47 | 只看该作者
初学者,技术贴必看。

0

主题

7

帖子

87

积分

注册会员

Rank: 2

积分
87
74#
发表于 2020-3-7 21:32:45 | 只看该作者
对于一个没有接触过这个编程的来说,要消化了你这精华得累死太多脑细胞了

0

主题

7

帖子

87

积分

注册会员

Rank: 2

积分
87
73#
发表于 2020-2-23 16:36:15 | 只看该作者
可以给个全的代码吗?

0

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
72#
发表于 2019-10-14 15:04:26 | 只看该作者
感谢分享,向楼主学习!

0

主题

17

帖子

629

积分

高级会员

Rank: 4

积分
629
71#
发表于 2019-10-13 11:36:08 | 只看该作者
教您5分钟接入机智云,实现傻瓜式开发
厉害,感谢分享。
stm32资料
硬氪网-硬件工程师必上网站之一

0

主题

1

帖子

57

积分

注册会员

Rank: 2

积分
57
70#
发表于 2019-9-17 11:10:43 | 只看该作者
有外壳厂家的地址吗

1

主题

10

帖子

304

积分

中级会员

Rank: 3Rank: 3

积分
304
69#
发表于 2019-9-10 20:24:51 | 只看该作者
不错,学习了,谢谢。

10

主题

19

帖子

340

积分

中级会员

Rank: 3Rank: 3

积分
340
68#
发表于 2018-12-6 16:27:40 | 只看该作者
楼主写的不错,建议支持一下。

3

主题

18

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
67#
发表于 2018-10-16 00:11:07 | 只看该作者
import static com.gizwits.opensource.appkit.R.id.timer;这个timer在哪儿呢

3

主题

18

帖子

279

积分

中级会员

Rank: 3Rank: 3

积分
279
66#
发表于 2018-10-15 22:10:20 | 只看该作者
汉枫LPB120模块
楼主方便把activity_gos_device_control.xml文件提供一下么?

3

主题

32

帖子

294

积分

中级会员

Rank: 3Rank: 3

积分
294
65#
发表于 2018-8-21 08:47:03 | 只看该作者

注册成为机智云开发者,手机加虚拟设备快速开发
学习了,谢谢y分享

0

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
64#
发表于 2018-7-7 08:40:01 | 只看该作者

学习了,谢谢y分享

0

主题

18

帖子

1164

积分

金牌会员

Rank: 6Rank: 6

积分
1164
63#
发表于 2018-6-24 08:07:09 | 只看该作者
gizwits_product这个文档里面的代码怎么操作?

1

主题

32

帖子

330

积分

中级会员

Rank: 3Rank: 3

积分
330
62#
发表于 2018-6-21 21:21:42 | 只看该作者
可惜没有PCB文件,因为我想做一个出来 。软件已经初步成功了。就缺外壳及电路板框图文件。

15

主题

135

帖子

2183

积分

金牌会员

Rank: 6Rank: 6

积分
2183
61#
发表于 2018-6-19 10:46:19 | 只看该作者
校园创客福利
感谢分享,这个比较实用一些生活当中。

0

主题

6

帖子

141

积分

注册会员

Rank: 2

积分
141
60#
发表于 2018-6-15 14:17:49 | 只看该作者
楼主你好,可以发我一份源码学习一下吗?谢谢!465119075@qq.com

2

主题

7

帖子

188

积分

注册会员

Rank: 2

积分
188
59#
发表于 2018-6-3 11:45:02 | 只看该作者
请问在gizwits_product.c中,userhandle函数的采集频率怎么设置呢?

0

主题

35

帖子

350

积分

中级会员

Rank: 3Rank: 3

积分
350
58#
发表于 2018-5-14 23:32:09 | 只看该作者
谢谢楼主分享

6

主题

13

帖子

77

积分

注册会员

Rank: 2

积分
77
57#
发表于 2018-5-14 10:35:41 | 只看该作者
我也做了一个
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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