这次准备长期玩玩物联网的内容,虽然我自己还有一些其他的坑要填补,但也算是宅在家里做一次技术宅吧,这次我们来讲讲esp32开发板的点点滴滴。
首先我们需要了解一个概念,物联网。什么是物联网也就是every object conceded internet。就是任何东西连接到网络上,网络也就是internet,比如可以将家里的灯泡,身边一些电器通通连起来,然后把它们丢到internet上,然后通过上位机来控制单片机(a)来进行下位机(b)的程序
**a:**a中的单片机即微控制器,是一些家用电器进行控制的mcu,可以理解成电路cpu,只要对它写了程序之后,便可以控制相关针脚的电路电位的高低,感兴趣可以看看我的第一期esp32的教程来辅助理解
b:b中所指的下位机程序,意义如下:在硬件开发程序过程中,我们往往像其他软件开发一样,类似前端后台一样,分成上位机程序和下位机程序,上位机也就是在我们控制端所运行的程序 ,而单片机中的程序则是下位机程序。举个例子。比如你要做个用手机点灯的程序。那么上位机程序就是运行在手机里的点击开关和关闭开关的安卓app,然后下位机程序是运行在连接灯泡的单片机中,他接受到手机传来的信号,并且将连接灯泡的阵脚高低电平进行变换
理解了这些之后,那么esp32又是什么样的一个东西呢,大家可以看看我第一期视频所写的
它其实也算一个单片机,只不过内部带上了一个能接受wifi信号的电路,而一般的单片机一般没有这样一个电路,需要额外设计,嫌弃麻烦和考虑成本也可能直接图省事再外接一个esp8266或者esp32。不过无论采取那种方式,肯定需要对esp32和8266的原理和结构有着更深入的了解。
这也就是我们接下来要干的事情了,不过在单片机能运行的一般是什么呢?咳咳,那也就是汇编,为了便于开发,厂商会制作idf(c)执行c/c++代码,但是对于现在,都是8102年了,我们还用那种老土的东西,真实too young too simple。So,let get it start!!让我们开始用新的开发方式吧!这是你没有玩过的全新版本–MicroPython
c:一种比较偏底层的一些玩意,通过c和c++代码以及官方所提供的sdk来开发,但是开发效率差,累死人不偿命,虽然后期学习比较深入的话还是有必要了解下,但是对于产品的开发,以及代码编译差错所花费的时间,我个人更倾向你去使用解释性语言来进行开发,python是一门非常好的语言,首先它相对于C/C++的静态编译而言,它是动态执行的,其次它相对于C/C++编程环境更为简单和易用,尤其是内置了许多常见的数据结构,对开发人员或数学研究人员,构建或移植相关数学算法更为容易。接着动态解释器有利于程序运行时修改,对于一段硬件控制输出不确定的PWM的功能,可以在Python中重新执行,而非重新烧写固件到芯片中运行,在未来由于嵌入式硬件的完善和升级,开发者会期望将一些软件功能从上层迁移到下层时,MicroPython可以提供比C/C++更为简易通用跨平台语言环境。
另外说了那么多介绍,我们还需要一款开发板,这款开发板也就是bpi-bpi是香蕉派的开发板。
采用 ESP-WROOM-32 作为核心进行设计,支持蓝牙、BLE等多种通信方式。
ESP-WROOM-32
448KB ROM
520KB RAM
Wi-Fi & BLE
正面具有 25 颗( 5 * 5 )可编程 LED 灯,单GPIO控制,单颗 16777216 色显示;并且正面还具有 2 个用户可编程按键。
bpi,bpi开发板
MicroPython。一种开源的python嵌入式解释器,在esp32和esp8266的idf层中运行。我们需要在这个里面进行使用别人在idf层编译好的固件,当运行固件的时候。我们就能逐行在repl中解释代码了!
之后我们结合视频烧录完固件就能愉快的进行我们的教程内容了。下期专栏将会描 WebDAV ,运行在开发板上的类似ftp服务器的东西,感兴趣可以关注我噢!
本期的专栏就先就到这里了!如果有不懂的可以结合我上面的视频进行学习,之后我们会更深入的讲解这些,如果大家希望,希望大家能给出一个赞支持噢!