电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>如何构建冠状病毒图表并在嵌入式设备上运行

如何构建冠状病毒图表并在嵌入式设备上运行

2023-06-16 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

冠状病毒在全球范围内增长了很多,并且出现了许多公共数据集以提供有关病毒传播的实时和历史信息,但是您如何在自己的嵌入式设备中将所有这些信息绘制在图表上呢?

在本文中,我们展示了如何从头开始构建图表的图形用户界面 (GUI),连接到冠状病毒信息的 REST 数据库,以及如何在嵌入式设备上运行它。收集的数据将绘制在代表全球病毒演变的折线图上,我们将使用Toradex Colibri 模块和NXP iMX6ULL 执行所有测试,无需 GPU

此图表上显示的数据可从Rapid API网站的冠状病毒地图部分免费获得。可以使用 Rest WebService 进行连接,也可以在设备内下载 JSON 数据和包。此代码是使用TotalCross SDK编写的,用于开发、构建应用程序并将其打包到嵌入式设备,如下图所示。

 

Colibri iMX6ULL 是一款具有 Wi-Fi蓝牙功能的 Toradex 计算机模块,基于 NXP i.MX 6ULL​​ 应用处理器,具有适用于各种物联网和嵌入式设备的 Arm Cortex-A7 内核。这个强大的工具与 Totalcross SDK 一起使用,可以开发广泛的应用程序。所有这些示例代码都可以在GitHub 上免费获得,您只需将开发环境配置为 TotalCross。在这里,我们有一个简单的教程,它还提供了有关部署和运行项目的信息。

要访问冠状病毒数据,请访问 Rapid API 网站。冠状病毒地图上,获取URL请求数据;最新的报告菜单有代码片段。该项目基本上有两个主要类,CoronaChart和CoronaChartApp;它还有运行类 RunCoronaChartApplication。数据离线时使用JSON文件,设备可以直接读取信息;此文件已保存在资源文件夹中。

CoronaChart 类负责在图表上构建数据。CoronaChartApp 类是加载主 UI 的主窗口。它连接到 Web 服务并在图表中运行确认、恢复和死亡的动画。

private void fillData() {
[...]
if (offlineCheck.isChecked())
response =
getCoronavirusData("https://coronavirus-map.p.rapidapi.com/v1/summary/latest", HttpStream.GET);
else
response = new JSONObject(new String(Vm.getFile("request.json")));
JSONObject data = response.getJSONObject("data");
dates = data.names();
array = data.toJSONArray(dates);
for (int i = 0; i < array.length(); i++) {
date = dates.getString(i);
item = array.getJSONObject(i);
MyDate myDate = new MyDate(Integer.parseInt(Convert.remove(date, "-")));
confirmedList.add(new Data(myDate, item.getInt("total_cases")));,>
recoveredList.add(new Data(myDate, item.getInt("recovered")));,>
deathsList.add(new Data(myDate, item.getInt("deaths")));,>
}
[...]
}

最重要的方法是 fillData(),它用于从 Rapid API 以 JSON 格式加载信息。getCoronavirusData() 使用 Http Stream 连接到 API 并从站点获取信息。它返回将在 fillData 上处理的 JSON 对象。必须使用 Rapid API 密钥更改 secretKey 字符串才能使连接正常工作

每次点击开始按钮时,它都会连接到 Web 服务,下载所有信息并将其绘制在图表上。也可以在资源文件夹中加载文件request.json 。Vm TotalCross 类具有操作文件的方法,因此我们可以打开带有电晕信息的 JSON 文件。该文件将被加载到应用程序上,将这些数据解析为字符串并解析为 JSONObject。

JSONObject getCoronavirusData(final String url, String httpType) {
[...]
HttpStream.Options o = new HttpStream.Options();
o.readTimeOut = 5000;
o.socketFactory = new SSLSocketFactory();
o.requestHeaders.put("x-rapidapi-host", "coronavirus-map.p.rapidapi.com");
o.requestHeaders.put("x-rapidapi-key", secretKey);
HttpStream hs = new HttpStream(new
URI("https://coronavirus-map.p.rapidapi.com/v1/spots/summary"), o);
ByteArrayStream bas = new ByteArrayStream(4096);
bas.readFully(hs, 10, 4096);
hs.close();
String string = new String(bas.getBuffer(), 0, bas.available());
request = string;
[…]
}

此 JSONObject 将被读取并分离为确认列表、恢复列表和死亡列表。加载构建包时,文件 request.json 在设备上自动可用。除了我们图表上的信息外,还有其他信息可能对未来的工作有用,例如活跃病例、危急、测试、死亡率和康复率。

pYYBAGN29k-Ac0RTAAF90qSTHrU383.png
 

项目中存在的大多数其他方法都涉及图表中数据的组装和动画;可以在可供使用的代码中研究它们。其余的代码片段是关于屏幕的组装,主类从 MainWindow 类扩展,其覆盖方法如 InitUI,它将构造屏幕上的所有元素,如背景颜色、按钮、复选框及其监听器方法。

关于技术

该项目中使用的TotalCross 技术提供了一个占用空间小的应用程序(甚至使用 Java),非常适合这种设备。TotalCross 不使用 JVM(Java 虚拟机),但由其自己的开源虚拟机 TCVM 支持。这使其能够保证使用此框架开发的应用程序的几乎本机性能。此外,它使我们能够用很少的命令创建出色的 UI,即使对于低端 MPU 也是如此。

按照这些步骤,您可以快速构建您的冠状病毒图表并在嵌入式设备上运行它。您可以根据需要将相同的知识应用于不同的数据库并创建自己的图表。


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费