股票大盘显示器
userHead Zoologist 2020-09-30 10:47:14

TinkerNode NB-IoT 是 DFRobot 最新出品的物联网开发板,它内置了低功耗蜂窝通讯模块,能够随时随地的提供互联网服务。同时它的主控芯片是 ESP32,主频:240MHz,内存更有:520KB。因此,使用它可以方便的完成很多工作。抽烟嚼槟榔吃中药和炒股票是重要的爱国标志,这次我就要用这个板子制作一个能够随时随地显示A股大盘走势的设备。

TinkerNode NB-IoT有着强大的通讯功能,这次用到的是它的WIFI通讯功能。从原理上说:TinkerNode NB-IoT访问一个网址,取得实时的大盘数据,然后将数据显示在液晶屏幕上。 

硬件方面,除了TinkerNode NB-IoT还需要一个液晶屏。最终选择的是7寸液晶屏触摸串口屏。这个屏幕的特点首先是尺寸大,分辨率更是800x480。使用串口传输内容让显示非常方便。

多介绍两句这种串口屏。传统的屏幕需要在主机端生成好内容,然后不停的将内容数据发送到屏幕上,因此对于主机和接口有较高的要求。主机需要有足够的内存存放下要显示的内容,同时接口必须足够快并且不断发送数据刷新。而串口屏没有这样的限制,只要有串口就可以实现显示操作。实现的原理是:首先通过屏幕配套的图形化界面设计软件设计界面,比如,在屏幕中央会有一个 20 字节的字符串需要显示。然后将生成的配置文件烧写到屏幕上。在使用的时候单片机发出“在特定的位置显示字符串”即可。比如,在这次的作品上使用界面设计软件绘制如下:

projectImage

具体就在 800x400 的界面上放上 2 个显示文本变量外加实时曲线: 

projectImage

其中的文本变量都有对应的地址,比如上图中的“文本变量1”属性如下:

projectImage

当屏幕串口收到 A5 5A 0E 82 04 86 30 33 31 3620 34 33 32 32 FF FF 它可以知道一共有0x0E 个数据,命令是 0x82,访问的地址是 0x0486,后面就是要显示的 ASCII。于是就将就将 ASCII 显示在文本变量 1 的位置上。接下来将生成配置文件 Copy 到 U 盘上,插入到屏幕的 USB 口上电,屏幕自动完成读取。之后就可以使用串口操作了。当然目前串口屏没有统一标准,具体操作需要查看不同厂家手册。 

TinkerNode NB-IoT 板子上有一组串口,这次就使用它来完成和液晶屏的通讯(实际上只用 TXD 即可,因为不需要屏幕反馈数据)

projectImage

整体供电使用充电宝充电,一路直接提供给液晶屏(屏幕耗电在500MA,因此无法从板子提供),另外一路提供给TinkerNode NB-IoT,直接接入到板子5V位置(实验表明当没有充电电池的时候,太阳能电池板充电输入也无法正常工作)。 

 代码通过HTTP访问 http://hq.sinajs.cn/list=sh000001 这个网址获得实时信息。取得结果是类似“var hq_str_sh000001="上证指数,2727.0186,2702.1296,2745.6182,2751.8964,2702.4933,0,0,252019507,281583369664,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2020-03-20,15:01:59,00,";”这样的信息。细心的朋友也可以猜到sh000001是股票信息,可以通过更换这个代码获得特定股票的实时信息。 

找一个纸盒,将屏幕固定在外面,因为除了供电没有其他线路,所以内部使用面包板插接即可:

projectImage
projectImage

工作的视频可以在下面看到(因为这个屏幕支持触摸,所以看起来外面还有一层膜):

联系我们
联系邮箱:makercarnival@hotmail.com
官方微信公众号:创客嘉年华
官方微博:上海创客嘉年华
© Copyright Zhiwei Robotics Corp. All Rights Reserved
code 上海创客嘉年华