01.esp8266在线字模

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和版本号,复制以后查找,似乎删除几个环行以后的空格就可以快速找到/

评论

还没有评论,来说两句吧。

发表评论
评论提交后需审核通过才会显示。
← 返回首页