2018个人年度总结:我是如何从嵌入式开发到服务器开发对接天猫精灵、小爱智能音箱服务器!懵懂 | 奋斗 | 进阶 | 信心

版权声明:本文为博主半颗心脏一心一血敲出来的原创作品,未经博主允许不得转载,多谢支持。 https://blog.csdn.net/xh870189248/article/details/85455240


一、个人总结?

  • 不经意间,2018年也就貌似流逝在指尖过去了,回忆今年的职业发展,心里有一把心里话。像是一阵春风擅鼓着自己的成长,又像一座大山压着前面的路。
  • 2014年那个酷热难耐的夏天,我经由一场考试,与过去的我彻底了断,奋不顾身地投入崭新的世界。那一场完美的谢幕成为了我发育躯干蜕下的旧壳,从那以后,我以从未设想过的方式渐行渐远,经历了各种难以置信的冒险。
  • 今年也算是工作一周年了,步入社会,继承了在学校的好学之心,依然继以往日学习新知识。这篇博文不是公司组织要求自己写的,而是写给未来的自己,当人生低落之时,共勉此博文以笑勉他日之时!

二、步入职场那些事。


    或许每个人在求学过程中,都遇到过这样的同学:他们轻而易举就可以在全班乃至全年级名列前茅。

    而我,从小就是被人归入这一类的。注意关键字’从小‘,因为出生农村,打小知道农村生活不容易,小学期间在全班排名数一数二,所以小升初之时,顺利上了市一中,然而好景不长,高中有过叛逆、辍学念头。高考的成绩不理想,上了个普通的大学。

    我觉得那是我人生中第一个转折点,大学生活的懒散让我看不惯,因为也许是个人喜欢总结反思大脑上,便不得不承受着与之相配的期望值,不得不战战兢兢以防走错一分一毫从那高高的宝座上跌落进万丈深渊。这样的压力成了我今后许多次失眠抑郁的源泉,但好我大三之时,自学,泡图书馆,好学的心里一度让自己的信心增强。

2.1 大学项目引起兴趣。

    如此的好学路上,网上各种找资料,慕课网、CSDN学院、扣丁学堂、自学网,因为是嵌入式开发的大学专业,只会C语言,而且是那种不精不熟的程度;不过大学老师是讲过一年的安卓基础,但是坑爹的是,没有java基础直接学安卓,于是在扣丁学堂学起了java se课程,那时候,像是找到了人生的支撑点,不断学,因为也快毕业了,学校有个项目实战课程,班里组队做项目,大家都知道,现在的大学生都是懒懒散散的,拖延症严重。

    而我担起了单片机、蓝牙模块、安卓开发三个范畴!那时候的资料不像现在那么泛滥,一个如何在安卓上实现经典蓝牙的开启和连接,都是从淘宝直接买,因为百度上压根就没有这资料。

    花钱买代码,学如何自定义协议,记得那时候阮老师说的,AT指令,我那时候一脸懵逼,这玩意是什么?算了,不学那个了。于是在某个群上,叫人做个 51代码,收到串口1就开灯,2就关灯;还好,蓝牙模块Hc-05是透传的,所以,很容易的实现下位机代码。

    然而,上位机不是那么一番风顺,因为代码有个自定义View,自己一脸懵逼,只会一个listView,东筹一下代码,也算是搞掂了。

    最记得的就是那个电路设计,一个pnpnpn的区别,搞得自己驱动不了继电器。连续打板子三次了,50块十个板子,在嘉立创的!

     当然了,大学搞的diy小项目不多,大多数是玩过来的!造成了很多细节知识点遗漏!


2.2 第一次面试。

    这个第一次实习面试是去年时候,电器厂需要一个测试人员,很轻松的面试通过了,大概是看到了我那个蓝牙灯吧!担当起公司里面的测试软件职位,我甚至像一个安卓开发人员去熟悉公司的安卓项目,大概是大学或好学的态度,成功地帮公司开发了代码,实现了功能。

    这次项目的成功面试,让我懂得了:我们这行技术类开发,必须要有自己的项目,越全面越好,越系统越好!

    可能不满现状测试员身份,我开始一个月网上投简历找工作。不出意外,同城里面的一个科技公司急招安卓开发人员,而且也是嵌入式相关,看到简历上写着安卓开发、esp8266熟悉,做个小项目。可以采纳!

     下面是公司宿舍,花钱买了个小冰箱,过自己小日子。大家别以为那个是苹果笔记本,其实是华硕笔记本,贴了个标签罢了。。。哈哈

在这里插入图片描述


二、职业发展的奠基石------ 机智云。


     如果把社会比喻为一个大学,那么机智云平台就是我的第一个导师,像是一沾露水,滋润我的心里,萌芽那个全栈工程师的梦想的种子!

     由于会些些安卓开发,熟悉其过程,我开始琢磨机智云自动生成的安卓代码工程,其配网机制,如何设备跳转控制,分享如何实现,二维码绑定是什么原理?于是乎,自己用心写了个项目https://github.com/xuhongv/SmartHome,其界面还是蛮好看的!进一步提升了能力!

     可能是自己的信心增高了,大学看到很多讲师的课程,也想录制自己的视频教学。所以,毫不犹豫选择了机智云的平台,如何做一个对接机智云的app。没想到,需求是很多的,特别是在校大学生,很多嵌入式开发专业不懂app开发,这就让我引起了机智云平台的关注。没想到,让我拿了 2017-2019年的个人开发者优秀奖牌,让自己的职业发展和信心有很大的提升和增强。

     在机智云的开源社区,有很多的大神和道同志合的朋友,虚心请教,让我学到很多网络框架设计思想和智能家居系统的实现原理。

在这里插入图片描述


三、嵌入式开发、移动开发、服务器开发。


     2017年时候,天猫精灵刚刚发布出来,也就火热了智能音响的热潮,一个词语总结就是AI人工智能的年代来临了。

     碰巧幸运的是,公司也有项目接入阿里智能,让我有个很好的学习机会,也是用esp8266实现,这就让我觉得学习这个wifi芯片的信心增强了,而且对服务器架构和天猫精灵认识进一步加深了。那时候就想,能不能拥有自己的一个硬件服务器。说罢了,就是开发自己的服务器!

     后来,群里认识了一个山东小刘,也是群里的管理员,耐心教我怎么在阿里云搭建 MQTT服务器!之后,我开始琢磨MQTT协议了,也开始运用于公司项目!不久,这个协议完全弄懂了之后,发现嵌入式开发智能控制是那么简单的!!

     生命中学会感激,体现一个人的价值就是对别人有好处!我开始分析协议,写了篇博文,esp8266如何接入阿里智能,这个也是也是网上最早的接入阿里智能教程了!


3.1、嵌入式开发那些事。


     可能大家对嵌入式开发最烦的就是那些C语言指针、单片机的寄存器如何配置了。在如今的热门的 单片机里面,都是朝着面向对象的思想去做架构了! 注意是面向对象编程,我说的 面向对象编程,无法有重要的一个特性就是 封装 ,在单片机中运用就是屏蔽了底层寄存器的配置,而是封装成了一些函数,实现回调,像面向对象中的 接口 特性。

     上面总结的,可能大家感触不深!我打个比如,像我们在大学的C51入门,都是配置寄存器的,开总中断、把收发寄存器的位置位1;但是在esp8266或者是树莓派这些硬件开发,都是一个函数实现,压根不用配置寄存器,这就很好滴实现了屏蔽细节,开发更容易。

     各有弊端,但是最好的芯片开发是 封装好的API接口+寄存器配置,这个是对自己的能力提升有很大的帮助!像是树莓派这些开发,都是很简答了,如果你去面试嵌入式开发,老板问你会做什么?我会树莓派开发。。。。老板可能不会采纳你,因为这个是很简单的事情,一个公司需要的是那些 单片机原理是什么?如何修改寄存器配置,又是如何实现封装起来架构的人员。

在这里插入图片描述


3.2、安卓开发那些事。


     kotlin聊起安卓开发,不得不说,谷歌推荐的kotlin开发,而不是java开发。kotlin是一门弱语言,虽然没有js那么弱,但是对于我这种学过java的人来说,简直就是痛病啊。

     安卓开发,我数了下年头已经有三年了,但是真正开发学习只有2年,掌握了基本架构,会自定义VIew,会如何接入第三方架包,如何设计开发框架,这对于我来说已经知足了。

     电商类和我们的智能家居app开发还是有一定区别的,会电商的,很少懂得如何app去控制一个智能设备,这里,你把硬件作为一个客户端就好了,它其实就是一个特殊的客户端,很多业务逻辑都是服务器实现的。而协议和我们的post请求差不多,只不过是 硬件和服务器连接是一个长连接,就像我们集成第三方推送一样,有个保活(心跳)!我们在支付宝成功后,会有弹窗提示,即使我们推出后台,也会有推送,这保活机制就是长连接的效果。


3.3、服务器开发那些事。


  • 一个服务器成功运行必须涉及到 服务器开发、服务器运维,我学服务器不是为了电商,而是为了自己的全栈梦想。没有专心学去做服务器的架构和高并发处理的态度!

     说到这,我必须要说我的天猫精灵对接的原理:首先必须有一个私有服务器,这个服务器是集成oauth2.0协议的,硬件和我们的服务器的协议自己拟定即可;

     接入天猫精灵控制方式很多种,其中云云对接是比较节省成本的,但是需要的技术很多。

在这里插入图片描述


四、2018开发技术点总结。


  • 上半年在机智云平台录制了一个0开始接入安卓SDK的原生开发视频,公布在 CSDN学院。
  • esp32的学习,环境搭建,tcp udp基本外设认识,常见的环境搭建问题集锦解决;
  • esp8266的基本外设iic spi认识,接入苏宁智能、阿里智能、京东微联等第三方平台;
  • 安卓自定义view的重新认识,设计配网、入网绑定设备的逻辑架构设计;
  • js学习微信小程序入门,成功控制智能硬件;
  • aliosThings 贡献代码到阿里的开源嵌入式系统,成功控制硬件!
  • 阿里云搭建微信小程序mqtt服务器,解决端口443反代理问题!
  • php搭建私有服务器实现对接aligenie天猫精灵、小爱通讯控制智能硬件。

  • 明年规划,学习运维,准备把这套智能家居系统成熟。esp32的语音方案,ai识别认识!

猜你喜欢

转载自blog.csdn.net/xh870189248/article/details/85455240