我是靠谱客的博主 开放冥王星,最近开发中收集的这篇文章主要介绍新大陆培训之(一)物联网实训仿真系统 + Android程序开发,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

物联网实训仿真系统

1. 产品外观

 

2.产品功能

①设备面板:设备组件分类齐全,如传感器、执行器、网关、电源、RFID射频设备、终端、其他外设等,帮助学生了解物联网常见组网设备。

②控制面板: 可新建、保存、另存、打开、删除仿真文件,可撤销恢复操作,可编辑排版连线。支持反复练习操作。

③功能面板:可设置连线上报路径,并上报连线数据。可根据模拟传感器数据模拟实验。

④ 工作面板:拖拉设备设计仿真连线,设备虚拟传感数据设置、串口配置、网关配置等,可通过上位机或者云平台与实际设备联调。

⑤消息面板:实时查看传感器数据和执行器状态数据、采集器接收和发送数据。

3.产品案例:智慧路灯+获取有线传感器数据

 

Android程序开发

1. 布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_weight="1">

        <TextView
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="人体传感器"
            android:textSize="20sp" />
        <TextView
            android:id="@+id/tv_person"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:hint="用于显示是否有人"
            android:gravity="center"
            android:textSize="20sp" />
    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_weight="1">

        <TextView
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="火焰传感器"
            android:textSize="20sp" />
        <ImageView
            android:id="@+id/img_fire"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/fire"
            android:visibility="invisible"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_weight="1">

        <Button
            android:onClick="open"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="开启"/>

        <Button
            android:onClick="close"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="关闭"/>
    </LinearLayout>



</LinearLayout>

2. 导入新大陆提供的库armeabi/libuart.so和Analog4150Library.jar

3.  代码段

package com.example.kevin.sally;

import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.analoglib.Analog4150ServiceAPI;

public class MainActivity extends AppCompatActivity {

    private TextView tv_person;
    private ImageView img_fire;
    private ADAM4150 adam4150;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tv_person = findViewById(R.id.tv_person);
        img_fire = findViewById(R.id.img_fire);
        img_fire.setVisibility(View.VISIBLE);

        adam4150 = new ADAM4150(1, 0, 3);

        mHandler.postDelayed(mRunnable, ms);

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        adam4150.closeADAMPort();
    }

    public void open(View view) {
        //Toast.makeText(MainActivity.this, "开的按钮被点击了", Toast.LENGTH_LONG).show();
        adam4150.openFan1();
    }


    public void close(View view) {
        //Toast.makeText(MainActivity.this, "关的按钮被点击了", Toast.LENGTH_LONG).show();
        adam4150.closeFan1();
    }

    private int ms = 300;//每300毫秒运行一次
    private Handler mHandler = new Handler(); //声明一个Handler对象
    private Runnable mRunnable = new Runnable() { //声明一个Runnable对象

    @Override
    public void run() {

        mHandler.postDelayed(mRunnable, ms); //设置 多少秒后执行
        //如果为真 则显示有人,反之显示无人
        tv_person.setText(adam4150.getPerson()? "有人":"无人"); 
        //如果为真 则设置火焰图片,反之隐藏火焰图片
        if(adam4150.getFire()){
            img_fire.setVisibility(View.VISIBLE);
        }else{
            img_fire.setVisibility(View.INVISIBLE);
        }
        //发送ADAM4150请求
        Analog4150ServiceAPI.send4150();
    }

    };
}

其中ADAM4150为封装好的类。

编译发布到新大陆的平板之后,连接串口测试。

 

最后

以上就是开放冥王星为你收集整理的新大陆培训之(一)物联网实训仿真系统 + Android程序开发的全部内容,希望文章能够帮你解决新大陆培训之(一)物联网实训仿真系统 + Android程序开发所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部