我把所有的视频给串起来发一下:
显 示汉字的程序:
- mport board
- import terminalio
- from adafruit_display_text import bitmap_label
- from adafruit_bitmap_font import bitmap_font
-
- font = bitmap_font.load_font("fonts\wenquanyi_9pt.pcf")
- color = 0x00ff00
-
- text = "早安隆回"
-
- scale = 2
-
- text_area = bitmap_label.Label(font,text=text,scale=scale)
- text_area.x = 10
- text_area.y = 10
- board.DISPLAY.show(text_area)
-
- while True:
- pass
-
-
连接WIFI的程序:
- import os
- import wifi
- import board
-
-
-
- try:
- from secrets import secrets
- except ImportError:
- print("WiFi secrets are kept in secrets.py, please add them there!")
- raise
-
-
- print("Connecting to %s"%secrets["ssid"])
- wifi.radio.connect(secrets["ssid"], secrets["password"])
- print("Connected to %s!"%secrets["ssid"])
- print("My IP address is", wifi.radio.ipv4_address)
-
-
- while True:
- pass
-
-
控制WS2812B
- import time
- import board
- import neopixel
-
-
- pixel = neopixel.NeoPixel(board.NEOPIXEL, 1)
-
-
- pixel.brightness = 0.5
-
-
- blue = (0, 0, 255)
-
-
- pixel.fill(blue)
-
-
- while True:
- pass
-
显示本地天气
-
-
-
- import os
- import wifi
-
- for network in wifi.radio.start_scanning_networks():
- print("\t%s\t\tRSSI: %d\tChannel: %d" % (str(network.ssid, "utf-8"),
- network.rssi, network.channel))
- wifi.radio.stop_scanning_networks()
-
- print(f"Connecting to {os.getenv('WIFI_SSID')}")
-
- wifi.radio.connect('TPLINK555', '12345678')
- print(f"Connected to {os.getenv('WIFI_SSID')}")
- print(f"My IP address: {wifi.radio.ipv4_address}")
-
-
-
-
-
-
-
-
- import ssl
- import socketpool
- import adafruit_requests
-
- JSON_TIME_URL = "http://t.weather.sojson.com/api/weather/city/101070601"
-
-
- pool = socketpool.SocketPool(wifi.radio)
- requests = adafruit_requests.Session(pool, ssl.create_default_context())
-
-
-
-
-
-
-
-
- print(f"Fetching and parsing json from {JSON_TIME_URL}")
- response = requests.get(JSON_TIME_URL)
- print("-" * 40)
-
- print("-" * 40)
- print(response.json())
-
-
- weather = response.json()
- cityInfo = weather['cityInfo']
- city_weather = weather['data']
- forecast = city_weather['forecast']
-
- dis_str = ""+cityInfo['parent']+' '+cityInfo['city'] +' '+weather['time'][:11] + forecast[0]['week']
- dis_str += '\n 空气质量:'+city_weather['quality'] +" " +forecast[0]['type']
- dis_str += "\n 最"+forecast[0]['high']+' 最'+forecast[0]['low']
- dis_str += "\n 湿度: "+city_weather['shidu']+' pm2.5:'+str(city_weather['pm25']) +' pm10:'+str(city_weather['pm10'])
- dis_str += "\n 注意!! "+forecast[0]['notice']
-
-
-
-
-
-
-
- import board
- import displayio
- from adafruit_display_text import label, wrap_text_to_lines
- from adafruit_bitmap_font import bitmap_font
-
- display = board.DISPLAY
- board.DISPLAY.brightness = 0.9
- board.DISPLAY.rotation = 0
-
- font = bitmap_font.load_font("wenquanyi_10pt.pcf")
-
-
- color = 0x9499CA
-
-
-
- text_group = displayio.Group()
- text_area = label.Label(font, text=dis_str, color=color)
- text_area.x = 0
- text_area.y = 10
- text_area.line_spacing = 0.8
- text_area.scale = 1
-
-
- text_group.append(text_area)
- display.show(text_group)
-
- while True:
- pass
-
-
心得体会
这次活动总体不错,但是我没有看到有搞蓝牙的,不是说ESP32有蓝牙么?
我在PYTHON方面是刚起步,因为我工作有一堆C程序要编写。
我总结了一下:PYTHON的编译环境什么样都有,Thonny,Mu,pycharm.......
还是本着学习的原则参加了这次活动。感觉PYTHON很轻松。这种轻松让我感到有点不舒服。
我学习PYTHON也只是跟上大部队,别离队伍太远了。
PYTHON确实很历害几个语句就可以搞定C语言几个小时,甚至几天的工作量。这一点我佩服,但现在的工厂,都是要成果的,大多数是C。
没有PYTHON或是ARDUINO。
这次评测的任务如下:
任务1:控制屏幕显示中文(必做任务)
完成屏幕的控制,并且能显示中文
搭配器件:Adafruit ESP32-S3 TFT Feather
任务2:网络功能使用(必做任务)
完成网络功能的使用,能够创建热点和连接到WiFi
搭配器件:Adafruit ESP32-S3 TFT Feather
任务3:控制WS2812B(必做任务)
使用按键控制板载Neopixel LED的显示和颜色切换
搭配器件:Adafruit ESP32-S3 TFT Feather
任务4:从下方5个分任务中选择1个感兴趣的完成即可(必做任务)
■ 分任务1:日历&时钟——完成一个可通过互联网更新的万年历时钟,并显示当地的天气信息
这次活动任务总结一下:
1,开发环境的安装 里边有原代码。
可以说这个开发环境差点让我玩不成这块板子,因为我的系统是WIN7,平时由于开发板多所以驱动老是换。我曾经用以前的方法把两个文件,考到WINDOWS目录下,也是不行的。
通过这次的评测。我想我要买一台更好的计算机。无论是笔记本还是台式机。
2,显示汉字里边有视频。
显示汉字这块,主要是下载8.x那个库,否则找不到库
- from adafruit_display_text import bitmap_label
- from adafruit_bitmap_font import bitmap_font
也就是说没有库这两句话会提示错误。
3,连接WIFI 里边有视频。
这个任务主要注意,把WIFI的密码放到secrets.py中,这样密码不会暴露。其实也没有什么,但这么做放点心。
4,控制WS2812B
这个任务难点还是找对库,就是一定要找到neopixel库。
5,显示天气
首先是连上网,然后得到天气信息,然后再解析,最后显示,我觉得难点在解析。
这次活动看到了PYTHON的强大,几下就搞定了一个项目,而平时的我在为实现一个功能不断地写着C代码,写完不断的偿试。
希望EEWORLD能组织更好的活动,让大家学到更多的东西。
程序打包: https://download.eeworld.com.cn/detail/ddllxxrr/629682
|