1.说明:
- 1.因为比较忙,我只做了符合自己要求的字模16*16。
- 2.字模和显示绘制方法是有关系的,所以我的字模和配套绘制方法也在下面了。
- 3.基本逻辑为,esp8266拿着需要显示的中文请求一个连接,这个连接返回字模。
- 4.esp2866拿到字模以后在用我的绘制方法绘制到屏幕上。。
2.代码:
- //****************************头文件
- #include <ESP8266HTTPClient.h>
- #include <Adafruit_SSD1306.h>
- //****************************预定义及初始化
- const char* urlGetTypeface = "https://cd.deeplandesign.top:8083/abc/returnTypeface?str=";
- const int wd=16;
- int httpCode;
- HTTPClient http;
- WiFiClient client;
- Adafruit_SSD1306 display(128, 64, &Wire, -1);
- //****************************调用,0和45代表从这个点开始显示
- showTypeface(sendGetTypeface("万事如意"),0,45);
- //****************************绘制
- void showTypeface(String str,int x,int y)
- {
- unsigned char aa[wd*2];
- int a =0,b;
- char s1[str.length()];
- for(int i=0;i<str.length();i++)
- s1[i]=str[i];
- char *p ;
- p = strtok(s1,",");
- while(p!=NULL)
- {
- aa[a] = strtol(p,NULL,10);
- if(a==31)
- {
- display.drawBitmap(x,y,aa,wd,wd,1);
- x=x+wd;
- a=-1;
- }
- a++;
- p = strtok(NULL,",");
- }
- }
- //****************************请求字模
- String sendGetTypeface(String str)
- {
- if (http.begin(client, urlGetTypeface + str))
- {
- httpCode = http.GET();
- if (httpCode > 0)
- {
- if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY)
- {
- return http.getString();
- }
- }
- }
- }
3.记录:
- #1.开发版地址设置
- https://arduino.esp8266.com/stable/package_esp8266com_index.json,https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- #2.获取相关包下载地址
- ~/.arduino15/package_esp*.json
- #3.开发板zip文件存放地址
- ~/.arduino15/staging/packages
- #4.需要下在的依赖,看toolsDependencies里面的版本号
- 记事本搜索name和版本号,复制以后查找,似乎删除几个环行以后的空格就可以快速找到/
评论
发表评论