基于 Raspberry Pi 的智能卡读取(III)
创建Java项目
使用Java编程的原因
选择用Java来构建项目,我考虑到两个因素。
一:微软写了个叫PC/SC的读卡器规范,我选用的的NFC模块支持这个规范, javax.smartcardio这个包是Java的扩展包,对于那些支持 PCSC规范的读卡器操作成了可能。 二:正巧,大学选修课时学习了Java,这次毕业设计希望对这种语言有在深一步了解。
Java JDK安装
虽然树莓派已经预装过了Java 8,但是相比较于现代计算机,树莓派的CPU和内存去编译Java应用会耗费一定时间。一个好的Java IDE会加快项目的开发进度,所以我尝试在笔记本电脑上搭建Java IDE进行编译再远程同步到树莓派上。 在安装IDE之前需要在笔记本上安装Java开发工具包(JDK),在甲骨文官网下载JDK在电脑中安装,安装好后需要在系统变量中配置好相应的路径。安好后需要测试一下是否正确配置环境,运行命令提示符cmd后输入java,没有提示错误即可。
Java IDE选择与安装
NetBeans IDE优点
-
由于不知道选择哪种IDE,首先在百度那里搜索了四款比较流行的IDE: Eclipse、MyEclipse、NetBeans、InteliJ IDEA
-
在进入官网时,NetBeans官网的下载界面很简洁,而其他三款官网比较华丽。由于InteliJ IDEA是部分收费的,下载界面可能直接跳出银联卡、各种国际信用卡、PayPal、支付宝和微信支付。
-
NetBeans的下载包非常人性化,提供了多种打包好的下载包,可以根据自己的需求下载。
在NetBeans官网点击Download,会进入下载页面。开始是准备选择最新版本的作为开发的IDE,但是发现新版本提供的下载包操作比较繁琐,需要下载二进制文件或者源文件。在比较了一番决定, NetBeans 8.2是相对最新也是最容易懂怎么下载,在其提供的下载包中选择了最简单的开发包Java SE,其实对于我目前的开发已经能完美的胜任。
Java 远程树莓派平台
确定好NetBeans后,接下来为树莓派的开发选择Java平台,最为重要的是为其设置远程平台时填写。树莓派的远程JRE路径。关于树莓派的远程JRE路径,可以在SSH登录树莓派时,输入命令sudo update-alternatives --display java得知树莓派的远程JRE路径为:/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/。完成后测试平台。
上一篇: 第 189 章 看相天师的一年之约
推荐阅读
-
基于 Raspberry Pi 的智能卡读取(III)
-
读取 Raspberry Pi 4B 处理器(CPU)的实时温度
-
基于 NFC 的无线电池管理 BMS - ● 主动读取内部传感器:利用 NFC 技术,BMS 能够主动读取内部传感器的数据 [... 考虑车辆外使用案例中的空闲状态场景:NFC 技术可用于处理闲置状态下的电池组读取,例如在第二次生命转移期间进行存储。 主动诊断读取:在邻近系统中部署了 BMS 的情况下,使用 NFC 技术进行主动诊断读取。 (ii) 系统结构 系统架构如图所示,在建立安全通道之前,需要对设备进行身份验证。数据链路通信层由 NDEF 记录处理,而数据存储可以是离线的,也可以是数据库中的在线存储。活动和空闲状态的诊断读数取决于设备和数据方向,需要与外部 NFC 阅读器进行通信。软件架构分为三层,包括硬件抽象层(HAL)、中间层(中间件)和应用层。HAL 处理硬件驱动组件,中间件执行设备验证,而应用层则由开发人员根据安全漏洞和格式扩展*定义。 为确保安全,系统采用了一个安全模型,为 BMS 和主动诊断读取情况格式化应用数据。安全考虑因素包括设备相互验证、使用安全通道(加密和防篡改)以及确保电池组内读数的安全。 考虑到不同的 BMS 拓扑,包括集中式、调制式、分布式和分散式,系统需要满足设备相互验证和使用安全通道的要求。对于每种拓扑结构,都必须考虑将性能开销降至最低。电池是封闭的,对其进行物理攻击不可行或成本太高。外部攻击可能也很困难。基于对称或非对称加密技术的自动验证可用于保护电池组读数。安全协议在验证阶段和会话密钥确认阶段采用双密钥加密,以抵御攻击。中间件在数据格式验证、确认和处理中发挥关键作用,确保数据传输安全。 (iii) 唤醒模型设计
-
微控制器设计 - 基于 Raspberry Pi 的 wifi 小车设计与实施