您的位置:首页 > 大数据 > 物联网

用Java语言开发物联网设备应用(1)

2020-02-17 05:36 459 查看

用Java语言开发物联网应用(1)

  • 下一步——在实际设备运行
  • 写在前面的话

    2007年的时候,我还在SUN Microsystem工作。当时SUN把自己的JavaME虚拟机贡献给了开源社区,叫做phoneME,发布在Java.net上。我的team leader专门找到我,问我想不想用刚刚开源的phoneME项目搞点有意思的事情,在下一年的JavaOne上搞个presentation啥的。我也没多想,随口答应了下来。没想到后来这个项目一做就是4、5年,这就是PSPKVM的由来,一个在PSP游戏机上的JavaME虚拟机。当时PSP的装机必备软件列表上,PSPKVM一直都是常客。很多人用PSKKVM跑JavaME的浏览器(Operamini,UCWeb),各种手机JavaME网游,还有众多Google服务套件。每天在论坛和邮件里和PSPKVM的用户们交流,是我那几年每晚的乐趣所在。
    时移世易,JavaME在手机上逐渐被Android和iOS取代,但是我与Java的故事并没有结束。如今,我在github上新开了一个项目,将phoneME的代码移植到MCU和各种嵌入式设备中去,并给这个项目起了个新的名字:JOSH,意思是JOSH Open Smart Hardware。这个项目基本上是把CLDC部分的代码保留,加入了访问物联网外设的接口(Device IO),将MIDP部分基本裁掉,达到缩小尺寸和内存占用、适配低成本物联网设备的目的。
    目前的JOSH支持Linux和Windows模拟运行,也可以通过一个集成的RT-Thread内核跑在MCU上,还支持了ESP32 Wifi芯片。除此以外,我的下一个目标是将JOSH跑在无操作系统的MCU上,把JOSH做成一个真正的操作系统——一个支持用Java语言编写APP的物联网操作系统
    JOSH的系统源代码目前可以通过github访问:https://github.com/ruitaomu/JOSHVM 。而如果你是个Java程序员,或是个有Android编程经验的移动端开发者,也可以完全略过JOSH的系统源代码,直接从这个教程开始,一步一步地开始进入物联网编程的世界。
    “将移动互联网的编程体验带到物联网世界”——这,大概就是我的梦想吧:)

    让我们从Eclipse开始

    下载安装开发工具(Windows版)

    目前,JOSH的应用开发工具JOSHVM Studio只发布了Windows版本。建议使用Windows 7或以上版本运行。

    1. 下载JOSHVM Studio。这是一个定制版本的Eclipse IDE的免安装压缩包。
    2. 下载完成后将压缩包解压到任意路径(路径中不含中文和空格)
    3. 到解压后的路径下JoshVM\Studio文件夹下找到JoshVMStudio.exe并打开,选择工作空间

    创建HelloWorld

    1. 打开File->New菜单,选择Standalone工程
    2. 在Project name输入框中输入项目名,在这里我们输入HelloWorld。然后点击"Add"添加Configuration
    3. 在接下来的Configuration页面,选择JOSHDeveloperBoard_V0
    4. 点击Finish
    5. 回到项目创建页面,再次点击Finish。
    6. 从左侧浏览界面找到src->HelloWorld.java,双击打开,在main函数中输入代码
    public class HelloWorld {
    public static void main(String[] args) {
    System.out.println("Hello Josh!");
    }
    }
    1. 按Ctrl+s键保存。查看确保自动编译为选中状态

    在模拟器运行HelloWorld

    1. 在左侧工程窗口,找到要运行的项目HelloWorld,鼠标右键单击项目名称,选择Run As->JOSH Emulated Application
    2. 在console控制台查看应用输出

    下一步——在实际设备运行

    至此,你已经完成了第一个JOSH应用程序。下一步就是把这个程序下载到实际的设备中运行了。我们将在下一篇中介绍如何将JOSH应用运行在实际设备中。

    • 点赞
    • 收藏
    • 分享
    • 文章举报
    max1k 发布了5 篇原创文章 · 获赞 4 · 访问量 1834 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: