• 一、STM32简介、选型及其目标


    STM32简介

    STM32系列是由意法半导体公司推出的ARM Cortex-M内核单片机,从字面上来看,ST为意法半导体公司的缩写,M是Microcontrollers即单片机的缩写,32代表32位

    芯片系列

    STM32系列芯片分类


    STM32后缀的型号说明

    模块准备

    STM8S103F3P6


    STM8S芯片,20引脚,8KB闪存,TSSOP封装,工作温度为-40℃到85℃。
    这块芯片属于8位的低成本STM系列芯片,每个芯片成本不到10元,STM8S103F3P6在淘宝卖3元不到一个。
    STM8和STM32的区别,很显然,一个是8位的,一个是32位的,在写STM8和STM32代码的过程中,我感受到的最大区别就是PLL,STM8是没有PLL(倍频器)这东西的,STM32的倍频和分频的概念理解得我头大,STM8相对来说就简单有一些了,STM32的外设也丰富得多,如果学会了STM32,再回头学习STM8非常容易,STM8也适合做一些相对简单的电路。


    STM32F103RET6


    STM32芯片,64引脚,512KB闪存,QFP封装,工作温度为-40℃到85℃。


    STM32F103RCT6


    STM32芯片,64引脚,256KB闪存,QFP封装,工作温度为-40℃到85℃。


    STM32F103C8T6


    STM32芯片,48引脚,64KB闪存,QFP封装,工作温度为-40℃到85℃。


    STM32F767IGT6


    STM32芯片,176引脚,1024KB闪存,QFP封装,工作温度为-40℃到85℃。


    硬件开发前准备的设备

    正品艾德克斯IT6720/IT6721直流稳压电源


     
     

    宝工(Pro'skit) MT-1232 3 3/4 防护型多功能自动数字万用表


     
     

    放大镜20倍支架焊接台


     
     

    优利德数字示波器100m双通道示波器


     
     

    数显调温拆焊台柔和旋转风热风枪


     
     

    936恒温烙铁

     
     

    其它零碎的元件

    面包板、洞洞板、电源芯片、二极管、三极管、STM32的烧录座等等

     
     

    学习动机及目标

    现在是2019年了,明年5G正式商用,随着IPv6的逐渐普及,智能设备将开启万物互联的模式,作为一名有理想有抱负的软件/Web全栈工程师,也希望能拥抱物联网。
    最初萌发想学习硬件开发的想法,是因为看了《钢铁侠》,托尼·史塔克利用智能管家贾维斯进行辅助研发Mark战甲,管理家里的所有家电,可以帮托尼联系武器公司定制材料,可以提供各种信息查询等等。
    这可把我羡慕死了,心里萌发了想做一个自己的智能管家的想法。
    最初是从图像识别和语音识别方面着手,申请了讯飞和百度的语音识别接口,后来发现云端识别实时性太差了,从语音发出到设备接受命令并处理,整个过程至少需要1-3秒的时间才能完成,这在我看来是无法忍受的。
    因而想到何不自己做离线的语音识别,于是搜索学习了相关的资料,发现基于神经网络的图像识别和语音识别算法的正确率最高,深度学习需要线性代数、微分、统计学、概率论等为基础的,于是买了好几本不同的线性代数教材,下班后窝在宿舍学习、上网易公开课看可汗学院的微积分视频教程,陆陆续续学习了三个月,自己用Python基于CNN实现了手写数字的识别、手指数识别,手指的识别准确率有点惨不忍睹。
    后来再看RNN和LSTM,想做NLP,因为在我看来,所有语音识别的结果都会是文字,NLP处理这些文字并做出反馈、最后生成语音消息播放出来,在后续的学习过程中,我发现这些算法所需的数学基础越来越高,凭借自己半桶水都不到的数学水平、再加上无人指导的尴尬局面,学习效率非常非常低,再加上工作忙的原因,几乎放弃学习了。不过中途做了一项挺有趣的事,因为训练聊天机器人的NLP模型,需要大量语料来训练,于是我基于开源了的易语言版的半成品安卓QQ模拟客户端,花了三个月时间实现了Python版的安卓机器人,QQ加密协议方面是最耗时的,通过Wireshark抓取了很多闭源的QQ机器人,终于实现了安卓QQ的加密协议,只是有个诡异的问题一直无法解决,每次模拟登陆安卓QQ后,过一阵子会自动掉线,这个掉线时间无法确定,不知道问题出在哪儿了,但也懒得探究了,Python版安卓QQ实现之后,我创建一个小号QQ加入了很多千人群,通过半年的时间收集了几千万条聊天记录和数百万张表情包链接(表情包似乎是CDN缓存的,会失效),在几乎放弃深度学习后,这些资料也就没用了。
    那年应该是2017年,AI股大热正是那一年,被鼓吹为“人工智能元年”,可惜截至今天(2019年5月),所谓的AI本质仍然属于统计学的范畴,属于有多少人工,就有多少智能的阶段。
    我买的小爱同学,无法理解上下文内容、基于云端的语音识别速度慢,准确率也不高,还限制了只有米家生态链上的智能设备才能控制,无法DIY,就应用上来说,家里利用率非常低。
    至于对硬件感兴趣,还得从Arduino说起,在贴吧的Arduino吧知道了这款开源硬件,然后发现DIY硬件竟是如此的简单,买个温湿度传感器模块,连上三根线(VCC,GND,DATA),给Arduino接通USB到电脑,在Arduino IDE编写十行左右的代码并烧录到Arduino就可以获取周围的温度和湿度,这极大的激发了我对硬件DIY的兴趣,试想,我可以给Arduino接入WIFI模块和其它传感器模块,通过语音控制Python服务端与Arduino做交互获取周围的温湿度、控制继电模块操作220V灯的亮灭,通过红外线模块控制空调、电视等电器等等应用,这简直太酷了!后来还陆续购入的树莓派等硬件作为服务端设备,折腾了一年多,开始想着产品化,使自己DIY的工具让更多人能用上(其实主因还是想着多一条未来能恰饭的路子),最后发现这些终究算是“玩具”,虽然社区庞大,但不管是体积还是性能,都不如专业的单片机芯片,比如实现一个语音唤醒词识别的算法,利用STM32一款20-30块的芯片就能跑起来,以Arduino系列的性能,可能需要采购300块以上的Arduino mega2560才能实现,成本差距太大了!
    作为程序员,据前辈的说法,程序员的职业生涯一般只有35岁,很多35岁的程序员要么转行,要么转管理岗,因为年纪太大写不动代码了,加不动班,熬夜熬不过年轻人,而做硬件的则不一样,一般是越老越值钱,虽然我对35岁论这点有些嗤之以鼻,但正所谓狡兔三窟,多一条出路总归是没错的,而这一条路也正是我喜欢的,也是未来万物互联的历史趋势。
    我也不忘初心,希望能研发出像贾维斯那样的智能管家。
    一切,就从STM32开始吧!

  • 相关阅读:
    8.4 IP地址的划分及子网划分
    8.3 TCPIP协议族
    微软官方宣布:Edge 浏览器将采用 Chromium 内核
    微软官方宣布:Edge 浏览器将采用 Chromium 内核
    微软官方宣布:Edge 浏览器将采用 Chromium 内核
    Web 安全开发规范手册 V1.0
    Web 安全开发规范手册 V1.0
    Web 安全开发规范手册 V1.0
    NET Core入门笔记
    NET Core入门笔记
  • 原文地址:https://www.cnblogs.com/skyblue-Mr/p/10897386.html
Copyright © 2020-2023  润新知