7919|9

16

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

micropython可以支持中文咯 [复制链接]

 
 目前micropython官方版本固件是不支持中文的,经过我们2周加班加点的努力,终于可以支持中文啦

中文支持包含一下几个方面
1. string类型的变量直接可用中文
  比如
   a="中文"
   print(a)
2. 文件可以使用中文注释
  比如
    #这个程序完成了XXXX功能
3. 网络资源获取到中文字符串的时候,可以直接打印
  比如
    本例程会提供一个天气预报的例子,请看完全部教程
4. 可以通过Framebuf将汉字打印到液晶上
  比如
    oled.text("愿Micropython越来越强大",0,0)


本帖子转贴自
    http://www.dfrobot.com.cn/community/thread-26740-1-1.html


学习了一下http的get和post,用get请求完成了一个获取天气的应用,供大家参考学习一.  注册网站
https://www.seniverse.com
使用它的免费服务,一天可以请求400次,基本天气信息都有了


二. 注册完成后会有API-KEY,请保存下来


三. 准备材料
   1. firebeetle-esp32或firebeetle-esp8266主板
   2. uPyCraft 0.24版
四 开始实验
1.  将uPy_Lib目录下的urequests.py拖动到板子的lib目录下(注意这个文件岛主做了更改,官方原版不支持params)
2.  将uPy_Lib目录下的ssd1306.py拖动到板子的lib目录下
3. 使用下面这个代码,保存成py文件,下载到板子上并运行


  1. import urequests as requests
  2. from machine import Pin,I2C,SPI
  3. import time
  4. import network
  5. import ujson
  6. import ssd1306
  7. import HZK

  8. i2c = I2C(scl=Pin(22), sda=Pin(21), freq=100000)
  9. spi = SPI(baudrate=100000, polarity=1, phase=0, sck=Pin(18), mosi=Pin(23), miso=Pin(19))
  10. cs = Pin(25,Pin.OUT)
  11. HZK.init(spi,cs)
  12. lcd=ssd1306.SSD1306_I2C(128,64,i2c)
  13.   
  14. API_KEY = 'mggxhv8zbogqbmqj'
  15. UID = "UF239A86CE"
  16.   
  17. LOCATION = 'chengdu'
  18. URL = 'https://api.seniverse.com/v3/weather/now.json'
  19. UNIT = 'c'
  20. LANGUAGE = 'zh-Hans'
  21.   
  22. SSID="YOURSSID"
  23. PASSWORD="YOURPASSWORD"
  24. wlan=None
  25. s=None
  26.   
  27. def connectWifi(ssid,passwd):
  28.   global wlan
  29.   wlan=network.WLAN(network.STA_IF)
  30.   wlan.active(True)
  31.   wlan.disconnect()
  32.   wlan.connect(ssid,passwd)
  33.   while(wlan.ifconfig()[0]=='0.0.0.0'):
  34.     time.sleep(1)
  35.   return True
  36.   
  37. def fetchWeather(location):
  38.     result = requests.get(URL, params={
  39.         'key': API_KEY,
  40.         'location': location,
  41.         'language': LANGUAGE,
  42.         'unit': UNIT
  43.     })
  44.     return result.text
  45.   
  46. if __name__ == '__main__':
  47.     connectWifi(SSID,PASSWORD)
  48.     result = fetchWeather(LOCATION)
  49.     print(result)
  50.     j=ujson.loads(result)
  51.     print("\r\n\r\n")
  52.     print(j['results'][0]['location']['name'])
  53.     print(j['results'][0]['now']['text'])
  54.     print(j['results'][0]['now']['temperature'])
  55.     addr=j['results'][0]['location']['name']
  56.     weather=j['results'][0]['now']['text']
  57.     temperature=j['results'][0]['now']['temperature']
  58.     lcd.text("地点:%s"%addr,5,0)
  59.     lcd.text("天气:%s"%weather,5,16)
  60.     lcd.text("温度:%s"%temperature,5,32)
  61.     lcd.show()
复制代码



五.  实验效果








这样就能看到大成都的天气啦!

最新回复

  详情 回复 发表于 2018-2-25 12:33
点赞(1) 关注(2)
 
 

回复
举报

1万

帖子

24

TA的资源

版主

沙发
 
支持unicode?

点评

是的,欢迎提出反馈意见  详情 回复 发表于 2017-8-10 09:40
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
支持utf8
 
 
 

回复

16

帖子

0

TA的资源

一粒金砂(中级)

4
 

是的,欢迎提出反馈意见

点评

win10报毒哦  详情 回复 发表于 2017-9-13 12:58
先试试  详情 回复 发表于 2017-8-10 21:23
 
 
 

回复

1万

帖子

24

TA的资源

版主

5
 
秦皇岛岛主 发表于 2017-8-10 09:40
是的,欢迎提出反馈意见

先试试
 
 
 

回复

136

帖子

2

TA的资源

一粒金砂(中级)

6
 
秦皇岛岛主 发表于 2017-8-10 09:40
是的,欢迎提出反馈意见

win10报毒哦
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

7
 
想问一下这个板子是什么啊
 
 
 

回复

96

帖子

0

TA的资源

一粒金砂(中级)

8
 
没看明白,怎么使用中文??
 
 
 

回复

96

帖子

0

TA的资源

一粒金砂(中级)

9
 
使用它的免费服务,一天可以请求400次 ,应该是一个小时可以请求400次。
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

10
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表