当前位置:文档之家› uNabto物联网开发者手册

uNabto物联网开发者手册

uNabto物联网开发者手册
uNabto物联网开发者手册

uNabto Developer’s Documentation

v2.14552

Table of Contents Introduction (2)

Nabto Overview (2)

uNabto Adapter (3)

HTML Device Driver (4)

Base Station (4)

Nabto Plugin (4)

Interface Between Components (5)

Nabto Details (5)

TPT Template (5)

HTML Device Driver Bundle (6)

Query Model (8)

jQuery (9)

Nabto Plugin (9)

uNabto Details (11)

uNabto Source (11)

Porting uNabto (11)

Application Logic (14)

Example Main (15)

uNabto Demos (15)

Windows (16)

Unix (16)

Raspberry Pi (17)

Nabduino (17)

Microchip PIC (18)

Arduino (19)

RTX4100 (19)

Introduction

Nabto offers a solution enabling users to access devices behind a firewall.The patented technology provides secure,encrypted communication to devices through firewalls,no matter where they are and how they are connected to the internet.

The user interacts with the device via a browser on his/her computer,or via Nabto’s smartphone/tablet application for iOS or Android.

uNabto(micro-Nabto)is the Nabto product line targeted at low resource devices-see https://www.doczj.com/doc/7316202694.html, for solutions on more resource rich platforms and https://www.doczj.com/doc/7316202694.html, for use-cases of uNabto. The starter-kit supports the most basic functionality to demonstrate key aspects of Nabto,running on different platforms.It is meant to give a taste of what Nabto is capable of and it’s portability.The starter-kit can be downloaded from https://www.doczj.com/doc/7316202694.html,/starterkit.

uNabto Details describes what it takes to get started writing y Nabto Overview gives a short introduction to the Nabto Framework.

Nabto Details describes the key aspects of how Nabto works.

our own uNabto based applications.

uNabto Demos goes through some of the demo projects included in the starter-kit.To get started straight away,skip to the chapter.

If you have any questions or comments to the starter-kit,please feel free to post in the Nabto Community Forum or write an email directly to us on support@https://www.doczj.com/doc/7316202694.html,.

Nabto Overview

uNabto basically allows direct interaction with tiny embedded devices through a browser interface by installing a browser plugin to handle nabto://URLs.The user is given the impression of interacting with a full-blown web-application,while actually only exchanging a few bytes with the remote device-the actual HTML response is generated in-browser.

The Nabto platform consists of four major components:

■uNabto Adapter(supplied by Nabto and/or vendor):Communicates with browser through a simple UDP based protocol and registers with the Base Station.The adapter interfaces with the local hardware.

■HTML Device Driver(supplied by vendor):Description of device requests/responses and content for HTML layout.May be retrieved from a central repository by the Nabto Plugin or installed manually.

■Nabto Plugin(supplied by Nabto):Handles nabto://requests in browser,retrieves HTML device drivers,forwards requests to device and retrieves response.

■Base Station(supplied by Nabto):Is located in the cloud and mediates among Nabto Plugin, device(uNabto Adapter)and HTML device driver.

Figure1.uNabto Overview

uNabto Adapter

The uNabto Adapter software installed on the embedded device receives requests from the Nabto Plugin through the compact UDP protocol.It decodes the request and runs the appropriate functions on the device.Finally a response is sent back in an UDP packet to the browser.The uNabto framework can also run on a PC,Mac or Linux machine.

Nabto supplies demo code for several platforms,including:

■Windows

■Mac OSX

■Linux

■Microchip PIC18and PIC32

■Gainspan

■RTX

■Renesas

■Coldfire

■Arduino

If we are not currently supporting your platform,the Porting uNabto section gives an overview of what uNabto requires.

HTML Device Driver

The HTML device driver is responsible for presenting the HTML user interface in the user’s browser.It describes how information is mapped between the low level representation on the remote device and the HTML user interface generated by the Nabto Plugin.Newer implementations of device drivers are using the jQuery Mobile framework and JSON format for communication.

An HTML device driver consists of a zip file with HTML layout material and a description of the data sent between browser and device.

The vendor packages such a bundle,suitable for the device in question.The bundle is deployed in a location reachable by the browser through file://or http://requests.See HTML Device Driver Bundle for details.

Base Station

The Nabto Base Station is the central facility that mediates connections between client and server,and provides the Nabto Plugin with the URL of an appropriate HTML device driver.Implementation details about the base station is beyond the scope of the uNabto starter-kit documentation.

Nabto Plugin

The Nabto Plugin is registered in the browser to serve nabto://requests.It retrieves an HTML device driver based on information from the base station(if not already installed and up-to-date).By combining the browser request with information in the driver bundle,the plugin formats and sends a request to the remote device and receives a response using Nabto’s UDP protocol.

An HTML page is rendered using the received data,metadata and templates in the HTML device driver bundle.

From the HTML template developer’s perspective,the Nabto Plugin acts as a controller in a Model-View-Controller(MVC),similar to a front controller component in regular web server applications; it receives and validates user input,invokes the remote device and populates a model,accessible from the HTML template.

The Nabto Plugin can be downloaded from https://www.doczj.com/doc/7316202694.html,,and currently supports all versions of Internet Explorer and Firefox.

Interface Between Components

Consider a scenario where the user wants to get the temperature from his/her house-sensor,that has been assigned the uNabto hostname"https://www.doczj.com/doc/7316202694.html,".In a daily use-case this can be achieved with only two clicks in a browser using Nabto,no matter where he/she is on the planet.

For simplicity in this example,browser and device are co-located on the same network,allowing use of a simple local communications scheme,not involving the Base Station for NAT traversal.The use-case could look like this:

1.User enters URL https://www.doczj.com/doc/7316202694.html,/house_temperature in browser(or uses a previously saved link).

2.https://www.doczj.com/doc/7316202694.html, resolves to the DNS host name of a uNabto Base Station that has a web server running,answering the http://request.If it cannot detect a Nabto browser plugin,it guides the user through the plugin installation.Once the plugin is installed,the user is redirected to nabto://https://www.doczj.com/doc/7316202694.html,/house_temperature.

3.The Nabto Plugin handles this request and examines if a valid HTML device driver is installed for the device https://www.doczj.com/doc/7316202694.html,.If necessary,it queries the base station to get a URL and installs the HTML device driver.

4.The Nabto Plugin shows the HTML page from the device driver associated with the "house_temperature"request.

5.The user sends a request by clicking a button on the HTML page.

6.The Nabto Plugin encodes and sends the user’s input parameters and"house_temperature" opcode to the device that is assigned the name https://www.doczj.com/doc/7316202694.html,.

7.The uNabto Adapter receives and decodes the request,then samples the temperature through the specified sensor.The sampled temperature is encoded and sent back to the Nabto Plugin.

8.The Nabto Plugin receives the response value and shows it on the"house_temperature"HTML page to the user.

Nabto Details

This chapter goes into further details about how Nabto works,including information about the HTML Device Driver,Nabto Plugin and communication model(Query Model).

Older implementations of HTML device drivers uses TPT templates on top of HTML to fill out the user interface.Newer implementations from Nabto relies on JSON requests implemented with the more popular jQuery/Javascript.The jQuery Mobile framework is used for the demo HTML device driver.

The TPT Template method is briefly described in the following section as a reference to older implementations.Skip this section for the newer implementations.

TPT Template

The older TPT versions are populating the HTML using TPT based templates,which is a solution that results in small amounts of code,but offers less flexibility in the long run.

A simple TPT template could look like this:

House Temperature

Light status:${house_temperature}

The parameters in the response model are accessible in the template by the plugin with the value returned by the demo device.

The following special parameters are populated by the plugin:

Parameter Content

${_query}The name of this query(the name attribute of the model’s query node),

e.g."house_temperature".

${_description}A more descriptive name of this query(the description attribute of the

query node),e.g."House temperature measurement".

${_REQUEST}A map with all input parameters,accessible e.g.as

${_REQUEST.sensor_id}.

${_RESPONSE}A map with all response parameters,accessible e.g.as

${_RESPONSE.temperature}.

The Nabto Plugin acts as a controller that receives requests from a device and serves an HTML template to the user.If the plugin is invoked as the action target of an HTML form,it is assumed that a request should be sent to a device and a response HTML template plugin decides this is the case,if the current request is a POST or a GET request with a query string

If a query is defined in the model,but no template present in the device driver bundle,an auto-generated form is shown,based on the model.

For further details about the deprecated TPT,look at older versions of this documentation.

HTML Device Driver Bundle

The HTML device driver bundle contains all the layout material for the user interface.It also contains a description of the data sent between browser and device:

■Graphics:GIF,JPG,PNG etc.

■Style sheets

■Javascript

■HTML pages

■Request Mapping-HTTP request to compact UDP based protocol

■Response Mapping-compact UDP based protocol to template parameters

The host specific bundle is a zip file with the following structure:

./nabto

A flat directory with all uNabto query content;the host’s model file(unabto_queries.xml)and.tpt

bootstrapping files for every query specified in the model.

./static

Static HTML pages,javascripts and style sheets-like when building normal webpages.These files are presented as is to the user.A simple jQuery function needs to be implemented here,which is responsible for requests and responses from the uNabto device,see jQuery.

On the client machines,bundles are installed in per-host directories in the html_dd sub-directory of the Nabto base directory.The Nabto base directory is"~/.nabto"on Linux and Mac OSX,and "%USERPROFILE%/AppData/LocalLow/Nabto"on Windows.

When visiting a uNabto device running the starter-kit demo,the HTML device driver is automatically retrieved by the plugin from the public Nabto test web server answering on https://www.doczj.com/doc/7316202694.html,. The demo HTML device driver is also included in the starter-kit for easy access.The structure of the demo device driver looks like this:

~/.nabto/html_dd/https://www.doczj.com/doc/7316202694.html,/nabto/unabto_queries.xml

~/.nabto/html_dd/https://www.doczj.com/doc/7316202694.html,/nabto/light_read.json.tpt

~/.nabto/html_dd/https://www.doczj.com/doc/7316202694.html,/nabto/light_write.json.tpt

~/.nabto/html_dd/https://www.doczj.com/doc/7316202694.html,/static/index.html

~/.nabto/html_dd/https://www.doczj.com/doc/7316202694.html,/static/css/style.css

~/.nabto/html_dd/https://www.doczj.com/doc/7316202694.html,/static/img/

~/.nabto/html_dd/https://www.doczj.com/doc/7316202694.html,/static/js/defaults.js

~/.nabto/html_dd/https://www.doczj.com/doc/7316202694.html,/static/js/helper.js

■Where unabto_queries.xml is the query model,

■light_read.json.tpt and light_write.json.tpt is used for response to the plugin,

■index.html,style.css and img contains the static style sheet,images and html page based on jQuery Mobile,

■defaults.js contains pre-jQuery Mobile initializations,

■and helper.js contains the needed jQuery helper functions;including binding of button event and query request/response handling with jQuery.getJSON().

This is the standard structure of an HTML device driver,which is easily modified to the client’s specific needs.When connecting to a uNabto demo device,the user interface in the browser will look like this:

Figure2.uNabto HTML Device Driver

Query Model

The uNabto application developer must describe the queries handled by a specific device in a query model for the device,represented as a simple XML file.The Nabto Plugin uses this model directly to encode requests sent to the device and parse the response received from the device.The query model is located inside the HTML device driver nabto directory.The uNabto Adapter software must similarly adhere to the model for decoding and encoding.

The query model schema can be downloaded from https://www.doczj.com/doc/7316202694.html,/unabto/query_model.xsd

An example query model could look like this:

xmlns:xsi="https://www.doczj.com/doc/7316202694.html,/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="https://www.doczj.com/doc/7316202694.html,/unabto/query_model.xsd">

This model describes a query named"light_read.json",with a single input(request)parameter named light_id and a single output(response)parameter named light_state.The mandatory query name tag is used for identification in the HTML device driver on requests and responses.The mandatory query id attribute is a compact identification of the query,used as opcode when sending requests to the device. The optional description attribute is a user friendly name for the query.

jQuery

With the new HTML device drivers using jQuery,it is necessary to implement a small function handling the requests and responses.An example of the implementation looks like this:

jQuery.getJSON("light_read.json?light_id=1",null,function(response){ var response=response["response"];

if(response!=null){

if(response["light_state"]!=null){

var light_state=response["light_state"];

}

}

}).error(function(error){

$(".errors").text("Communication error occurred!");

$(".errors").show();

});

This code snippet sends a light_read request to the device and receives a light_state response using getJSON().This approach gives the ability to analyze and manipulate the browser DOM using Javascript or jQuery according to the received message.

Nabto Plugin

The Nabto Plugin files are installed into the Nabto base directory,as described in HTML Device Driver Bundle.This is also where the HTML Device Drivers,logs,configuration,etc,are found. nabto_config.ini contains the Nabto Plugin configuration,where all the plugin settings can be tweaked.

Some highlighted functionality that can be changed from defaults are:

■logSetting=*.trace:activates logging by the plugin.

■deviceDriverInstallation=never:do not update/replace device drivers.

■disableLocalUDevice=1:force remote connections.

■cleanupOnUpgrade=0:don’t remove old html_dd on plugin update.

If an installed HTML device driver exists for the uNabto device the client are connecting to,the plugin checks it’s version against the one on the base station.If a newer version exists,it is downloaded and replaces the old.This way the host can update every client’s user interface,simple by changing the device driver on the base station.

When installing an HTML device driver from the base station,it is retrieved by the plugin from the URL http:///html_device_driver.zip,whereis the name specified by the

user in the nabto://URL.For instance,the URL nabto://https://www.doczj.com/doc/7316202694.html, triggers a download of https://www.doczj.com/doc/7316202694.html,/html_device_https://www.doczj.com/doc/7316202694.html,ing wildcard DNS records and e.g.an appropriate Apache Virtual Host configuration,this may be used to setup HTML device drivers shared among multiple devices.A sample HTML device driver bundle matching the examples in this document has been deployed on the Nabto web server to handle*https://www.doczj.com/doc/7316202694.html, requests.

Since the device ID is used to look up the remote device when using NAT traversal,unique IDs are important.To minimize the risk of name collisions a name like .https://www.doczj.com/doc/7316202694.html, is preferred,or in a production series,device IDs could be named after....

All uNabto devices named within https://www.doczj.com/doc/7316202694.html, is connected unencrypted.The starter-kit demos uses https://www.doczj.com/doc/7316202694.html, to target the starter-kit HTML device driver.If the specific demo is not using DNS lookup,it is necessary to specify which base station the device should use,for non-local clients to connect through NAT traversal.The base station IP is the address of the base station associated with the given device name.The195.249.159.159base station is available for demos in the starter-kit.

It is also possible to configure the uNabto device to give a specific url to the client plugin upon connection, for it’s own device driver with the variable&nmc.nms.url.This makes it easy to give your newly developed HTML device driver to other uNabto users.

nabto://self/discover is used as the Nabto Plugin starting page and is used for local device discovery.

Figure3.uNabto Nabto Plugin Discovery

The Nabto Plugin can be tested against Nabto’s central test server at https://www.doczj.com/doc/7316202694.html,.

uNabto Details

This chapter goes into details about how uNabto is implemented on your platform.It describes some of the important uNabto source files for advanced users and which functions are needed in a port.

It is recommended to also take a close look at the uNabto Demos to get an idea of how uNabto is implemented on the officially supported platforms.

uNabto Source

The unabto/src directory contains the uNabto framework source files,which is an interesting place to start for advanced readers.Here is listed the important source files seen from an integrators perspective.

■The unabto/src/platforms directory contains the different platform specific environment files.

■unabto_config_defaults.h contains the default Nabto configurations.

■unabto_config.h contains the device specific configuration and should be supplied by the integrator.

■unabto_include_platform.h includes the device specific environment base according to NABTO_DEVICE,from the devices subdirectory.

■unabto_external_environment.h declares prototypes for the functions needed on new ports.

■unabto_logging.h holds different logging declarations.

Porting uNabto

This section will guide the reader through the implementation of a uNabto Adapter on a device where Nabto is not supported yet.This will also give you an idea of which software components uNabto requires.It is recommended to use the starter-kit demos as a starting point for porting uNabto.They are normally able to deploy on other platforms with only minor adjustments.

First we have to define the common environment in a device specific header(see e.g. unabto/src/platforms/pic32/unabto_platform.).These environment headers are included to the project through unabto/src/unabto_include_platform.h.The following types are needed by the uNabto framework:

■bool

■int8_t,int16_t,int32_t

■uint8_t,uint16_t,uint32_t

■ssize_t,size_t

■false,true

■nabto_socket_t

■nabto_stamp_t

They are just opaque types that the integrator can define to something suitable for the development environment.The first5standard types are normally supplied through include. nabto_socket_t is a Nabto specific type for UDP sockets,used for local and remote traffic.The socket

is normally defined to a handle that the UDP Stack is using.nabto_stamp_t is used for Nabto timestamps to allow timing and measurement.The Nabto framework measures time in ticks,so the timestamp is normally defined to an unsigned long or long long.

When the environment base is specified,a device specific implementation of the functions in unabto/src/unabto_external_environment.h has to be made.

■First of all we need a way to make random data for cryptographic:

/**

*Fill buffer with random content.

*@param buf the buffer

*@param len the length of the buffer

*/

void nabto_random(uint8_t*buf,size_t len);

■We need the following socket functions implemented to open and close sockets and communicate on them:

/**

*Initialise a udp socket.This function is called for every socket

*uNabto creates,this will normally occur two times.One for local

*connections and one for remote connections.

*

*@param localAddr The local address to bind to.

*@param localPort The local port to bind to.

*A port number of0gives a random port.

*@param socket To return the created socket descriptor.

*@return true iff successfull

*/

bool nabto_init_socket(uint32_t localAddr,uint16_t*localPort,nabto_socket_t* socket);

/**

*Close a socket.

*Close can be called on already closed sockets.And should tolerate this behavior. *

*@param socketDescriptor the socket to be closed

*/

void nabto_close_socket(nabto_socket_t*socketDescriptor);

/**

*Read message from network(non-blocking).

*Memory management is handled by the callee.

*

*@param socket the UDP socket

*@param buf destination of the received bytes

*@param len length of destination buffer

*@param addr the senders IP address(host byte order)

*@param port the senders UDP port(host byte order)

*@return the number of bytes received

*/

ssize_t nabto_read(nabto_socket_t socket,

uint8_t*buf,

size_t len,

uint32_t*addr,

uint16_t*port);

*Write message to network(blocking)The memory allocation and

*deallocation for the buffer is handled by the callee.

*

*@param socket the UDP socket

*@param buf the bytes to be sent

*@param len number of bytes to be sent

*@param addr the receivers IP address(host byte order)

*@param port the receivers UDP port(host byte order)

*@return true when success

*/

ssize_t nabto_write(nabto_socket_t socket,

const uint8_t*buf,

size_t len,

uint32_t addr,

uint16_t port);

■We can implement initialization and closing of the platform through Nabto,though on many platforms these functions are not necessary.The init and close platform functions can be excluded by defining NABTO_ENABLE_INIT_CLOSE_PLATFORM to0in unabto_config.h:

/**

*Init the platform.This is called once when the platform is

*initialised.This can be used to initialise platform specific behavior.

*The function is called before first socket operations.

*@return true if success.

*/

bool nabto_init_platform(void);

/**

*Close the platform.This is called once when the platform is

*closed.

*When this function is called no further socket invocations will occur.This

*can be used to make cleanup on the platform.

*/

void nabto_close_platform(void);

■Besides these functions we also need to implement time handling:

/**

*Has stamp been passed?

*@param stamp pointer to the time stamp

*@return true if stamp has been passed

*/

bool nabtoIsStampPassed(nabto_stamp_t*stamp);

/**

*Get Current time stamp

*@return current time stamp

*/

nabto_stamp_t nabtoGetStamp();

■Since uNabto uses the address to locate the base station it’s connected to,a DNS lookup function needs to be implemented.In an initial implementation this can be made to just return a constant IP address of the base station either for making a shortcut or if the base station never changes address.

Implementing a real DNS lookup gives the flexibility to change the IP address on the base station after the devices is set into production.

void nabto_dns_resolver(void);

*start resolving an ip address

*afterwards nabto_resolve_dns will be called until the address is resolved

*/

void nabto_dns_resolve(const char*id);

/**

*resolve an ipv4dns address

*if resolving fails in first attempt we call the function later to

*see if the address is resolved.The id is always constant for a device

*meaning the address could be hardcoded but then devices will fail if

*the basestation gets a new ip address.

*@param id name controller hostname

*@param v4addr pointer to ipaddress

*@return false if address is not resolved yet

*/

nabto_dns_status_t nabto_dns_is_resolved(const char*id,uint32_t*v4addr);

When these functions are implemented,uNabto has been ported to your device.What remains is to implement the application logic which uses Nabto on your device.

Application Logic

The application logic function is where the user specific functionality is implemented.When a Nabto message is received,this function gets called with the message’s request ID and parameters. Afterwards a message can be sent back to the requesting client.

The application logic prototype looks like this:

application_event_result_t application_event(application_request_t*request, buffer_read_t*read_buffer,buffer_write_t*write_buffer);

Where the request parameter is a struct including the query ID,client ID and connection information. The read_buffer parameter is used for reading the message sent from the client,and the write_buffer parameter is used for writing a message back to the client.

An application logic implementation could look like this:

application_event_result_t application_event(application_request_t*request, buffer_read_t*read_buffer,buffer_write_t*write_buffer)

{

switch(request->query_id){

case2:{

//

//

//

//

//

//

//

//

uint8_t light_id;

uint8_t light_state;

//Read parameter in request

buffer_read_uint8(read_buffer,&light_id);

//Use the read parameter

light_state=readLed(light_id);

//Write back led state

buffer_write_uint8(write_buffer,light_state);

return AER_REQ_RESPONSE_READY;

}

}

}

Where the request’s query ID is checked to see which message type is sent from the client.The whole query is commented above the specific implementation to give the developer a better overview. Afterwards the parameter is read and used,and a parameter is sent back to the client.

Example Main

In main we need to set up uNabto and supply it with a tick from time to time.The framework takes care of the rest.

The following is the simplest uNabto main example:

int main(){

nabto_main_context_t nmc;

nabto_init_default_values(&(nmc.nms));

nmc.nms.id="https://www.doczj.com/doc/7316202694.html,";

nabto_main_init(&nmc);

while(true){

nabto_main_tick(&nmc);

sleep_ms(10);

}

nabto_main_close(&nmc);

return0;

}

First a context for the uNabto instance is created and set to default values.Then the device ID is set and Nabto is initialized.Since we use co-operative multitasking we call nabto_main_tick()in the main loop to give Nabto a tick,and a platform specific sleep is used to be nice to the rest of the environment.

uNabto Demos

The starter-kit’s unabto/demo directory contains demonstration projects for some of the currently supported platforms.This chapter gives a short introduction on some of the demos to get you started.

This document will not walk you through all the specific board and PC setups.The documentation is only focused on getting the uNabto framework up and running.

The easiest network setup is to give the development board internet access through a router.Though we also support other configurations e.g.where the board is directly connected to the client using local link addresses.For all configurations it is a requirement that the client has internet access the first time it tries to connect to the device,so that the HTML device driver can be fetched from the base station.

All demos(except"Weather Station"and"Nabduino")are targeted the same simple HTML device driver, "Remote Light Switch Demo",which simulates the use-case of turning the lights on and off in the clients living room from a remote location.The Weather Station demo presents simulated wind speeds and temperatures to the user,using the older TPT template approach.The Nabduino demo is a standalone project from Nabto,that has all the newest features implemented on Nabto’s own development board. For simplicity reasons,crypto is not enabled in the starter-kit demos.Embedded certificate based authentication and encryption is currently only supported out-of-the-box in the Nabduino project.

Windows

Located in unabto/demo/pc_demo/unabto_win32.

The Windows demo uses Visual Studio to build and run a small WIN32application that simulates a light bulb in a prompt.

R e q u i r e m e n t s

■PC running Microsoft Windows XP or newer.

■Microsoft Visual Studio2005or newer.

H o w-T o

1.Install Microsoft Visual Studio2005or newer.

2.Open unabto/demo/pc_demo/unabto_win32/unabto_win32.sln in Visual Studio(convert the project solution if a newer version then2005is being used).

3.Build and run the project.

4.The uNabto stub is now running and can be accessed from any browser with the plugin by visiting it’s ID(default is https://www.doczj.com/doc/7316202694.html,).

Note Visual Studio stores by default the build executable as

pc_demo/unabto_win32/Debug/unabto_win32,which can be run directly with arguments in the command https://www.doczj.com/doc/7316202694.html,e"unabto_win32.exe-h"to see which arguments are valid.

Source files and settings are located in unabto/demo/pc_demo/src.

Unix

Located in unabto/demo/pc_demo/unabto_unix.

The Unix demo uses CMake and make to build for almost all unix platforms,including Linux and Mac OSX. The demo simulates a light bulb by printing it’s state in the console and uses the same source files as the Windows demo.

R e q u i r e m e n t s

■PC or device running a unix distribution.

■CMake and make.

H o w-T o

1.Install CMake2.8or newer.

2.Install"build-essential-y".

3.Install"libssl-dev".

4.Run"cmake."in the unabto_unix directory.

5.Run"make"to make the executable.

6.Use"./unabto_unix-h"to see the available optional settings.

7.Run the newly made unabto_unix by e.g."./nabto_unix".

8.The uNabto stub is now running and can be accessed from any browser with the plugin by visiting it’s ID(default is https://www.doczj.com/doc/7316202694.html,).

9.Source files and settings are located in unabto/demo/pc_demo/src.

Raspberry Pi

The Raspberry Pi demo uses the normal unix version of nabto to run on the ARM processor.It demonstrates toggling the onboard ACT LED by using system commands that manipulate /sys/class/leds/led0/brightness.

The following is tested on a2011Raspberry Pi board running wheezy-raspbian with a TrendNet WiFi dongle.It requires that internet,SSH access and CMake is working.

R e q u i r e m e n t s

■Raspberry Pi board

■Ethernet cable or a WiFi dongle

H o w-T o

1.Copy the starter-kit to the device(scp-r unabto_starterkit pi@).

2.SSH into the Raspberry Pi(ssh pi@).

3.cd into unabto_starterkit/unabto/demo/pc_demo/unabto_unix.

4.Run"cmake."and"make".

5.Run"./unabto_unix"with the appropriate settings arguments.

Note Start the application with"./unabto_unix&"to run it in the background.Afterwards you can close the SSH connection and the nabto application will still be running.

Nabduino

Located in unabto/demo/nabduino.

The Nabduino board is Nabto’s own development platform.The Nabduino is using a Microchip PIC18 processor and the implementation is therefore somewhat similar to the pic_demo(see Microchip PIC).

The concept is that the Nabduino application can be updated over an ethernet connection,and includes all the newest features of uNabto.See Nabduino homepage for further details on how it works and what it is capable of.

The Nabduino uses a separate HTML device driver from the other demos.

R e q u i r e m e n t s

■Nabduino board.

■Microchips MPLAB IDE,compiler and TCP/IP Stack(All three packages are available in free versions).

■Nabto Updater.

Microchip PIC

Located in unabto/demo/pic_demo.

The Microchip PIC demo project demonstrates toggling an LED remotely.It is tested on the https://www.doczj.com/doc/7316202694.html, 2development board,PIC Internet Radio and the PIC32Ethernet Starter-kit.

The demo project also contains a simple integration with FreeRTOS for the PIC32Ethernet board.For this port to work,it is necessary to include the FreeRTOS source.

R e q u i r e m e n t s

■A PIC development board with ethernet.

■ICD3In-circuit Debugger for the PIC18demos(the PIC32Ethernet Starter-kit has an onboard debugger).

■MPLAB IDE,compiler and TCP/IP Stack(All three packages are available in free versions).

The uNabto PIC demos should be compatible with Microchips newest software releases,and has been tested thoroughly with the following configuration:

■MPLAB X IDE v1.41,with the C18v3.43and XC32v1.11compilers.

■TCP/IP Stack v5.42.

■FreeRTOS v7.2.0.

H o w-T o

1.Download and install the MPLAB X IDE.

2.Download and install the C18compiler for the PIC18projects or XC32compiler for the PIC32 projects,from the same page.

3.Download and unpack the Microchip TCPIP Stack and make a link to it in the unabto/external directory(further instructions are located in the directory).

4.Do the same procedure with the FreeRTOS source if needed.

5.Connect all the hardware.

6.Open the unabto/demo/pic_demo/MPLAB.X project in MPLAB.

Note On the https://www.doczj.com/doc/7316202694.html, 2board it is important to use the network interface closest to the onboard

LCD since uNabto use the integrated ethernet controller,not the onboard ENC28J60.The project main is located in main.c .This is where the MAC-address and unique ID is set.application.c contains the application logic where the functionality is implemented and can be changed to the users needs.

In unabto_config.h the uNabto related settings can be changed,otherwise they are set to default values according to unabto/src/unabto_config_defaults.h .

Arduino

The uNabto demo for the Arduino platform demonstrates toggling an LED remotely,but is easily extended to the client ’s specific needs.

R e q u i r e m e n t s

■Arduino board (it has been tested on Duemilanove and Uno)

■Arduino Ethernet shield (tested on Wiznet)

■Arduino software

■LED to do the blinking.

H o w -T o

1.Copy the unabto/demo/arduino/Nabto directory from the starter-kit to the Arduino libraries directory.On Windows it is normally located in My Documents\Arduino\libraries\and on Mac/Linux it is located in ~/Documents/Arduino/libraries/.

2.Open Arduino.

3.Open Files →Examples →Nabto →Demo .

4.Type in the MAC-address located on the bottom of the Ethernet shield.

5.Specify an unique ID for the Arduino demo,e.g https://www.doczj.com/doc/7316202694.html, .6.Connect the LED to pin A0(anode)and ground (cathode).

7.Click on Tools →Board and make sure you have the right board chosen.

8.Click upload.

9.Open Firefox or Internet Explorer and type in the ID.

RTX4100

Located in unabto/demo/rtx4100.

The RTX project demonstrates the use of Nabto over WiFi on a small embedded device -the low power RTX4100WSAB board.

In this demo the user can toggle the onboard LEDs and read button status,plus graphical readouts of temperature and accelerometer data.

Note The programming procedure currently only works on Windows.

R e q u i r e m e n t s

■The WSAB RTX4100module

■The WSAB Docking Station(for programming)

■Serial cables

■AmelieSdk(RTX’s SDK)

■Sourcery G++Lite from CodeSourcery

H o w-T o

There are two ways to get uNabto running on your RTX module.

Using uNabto source:

■Plug the RTX4100module into the WSAB Docking Station.

■Download Sourcery G++and AmilieSdk.

■Copy the unabto folder to Projects/Amelie/COLApps/Apps/Nabto.

■Go to unabto/demo/rtx4100/Build/RTX4100_WSAB and run ba.bat.

■On success,upload the Nabto.fwu to the module with COLa Controller.

Using RTX Nabto library:

■Plug the RTX4100module into the WSAB Docking Station.

■Download Sourcery G++and AmilieSdk.

■Go to Projects/Amelie/COLApps/Apps/Nabto/Build/RTX4100_WSAB and upload the precompiled.fwu file with COLa Controller.

Note See the RTX documentation located in

AmelieSdk/v1.xxx/Documents/RTX4100_Quick_Start_Guide_Nabto.pdf for further details on installation.

Running the demo:

■Use serial cable for configuring the device to connect to your access point,as described in the RTX4100Nabto PDF.

■Or hold one of the onboard buttons down while rebooting the module to set the device in AP mode.

Afterwards you can connect to it as a normal access point.

■Go to nabto://self/discover and you should be able to discover the device running Nabto.

物联网平台常见问题解答

物联网作为一个提出20 多年的概念,在技术上已经获得了各项突破性进展,包括感知技术促进智能设备获取数据,通信技术负责传输数据,大数据技术使企业开始向往海量数据存储与处理的能力,以及近年引起广泛讨论的AIoT,让人们对人工智能在物联网的应用充满期待。 在使用现有物联网平台时,往往会产生一些问题,下面就给大家一一解答一下。 1、什么硬件可以接入物联网平台? 理论上只要您的硬件环境有TCP/IP协议栈,就可以封装物联网提供设备连接和通信的SDK,通过SDK接入物联网平台。 2、物联网平台提供手机App相关的服务吗? 目前物联网平台只提供设备维度的服务,没有提供手机App相关服务,所以App需要您自己开发。 您可以使用物联网开发服务的移动应用开发工具开发手机App。 3、物联网平台和消息队列(RocketMQ)都是用于消息通信的产品,它们有什么区别?

物联网平台是专门针对物联网场景的设备通信而开发的产品;消息队列是针对服务端异步通信场景开发的。两者最大的区别在风险控制能力。 因为在物联网场景中,厂家生产的设备大部分都不是自己用,而是给用户使用,那就意味着设备被破解的概率大大增加。所以,风险控制至关重要。物联网平台具有设备认证环节。每个设备都会在物联网平台注册一个唯一的身份标识。在物联网平台上,您可以对每个设备进行管理,包括授权、禁用等管理。一旦某个设备被破解,就可以将风险控制到只损失单个设备,不会波及整个系统。而消息队列没有这样的风险控制机制。 4、如何获取物联网相关解决方案? 目前物联网平台的整套解决方案一般由第三方的解决方案商和模组商提供。 5、是否支持C语言版的服务器端SDK? 如果服务器端使用C语言SDK接入物联网平台,调用物联网平台云端API,需要使用HTTP协议来发送请求数据。但是,我们不建议用C语言来开发服务器端,因为如果要使用消息回调,还需要用C语言的Web Sever,其开发难度较高。

11个热门物联网开发平台的比较

11个热门物联网开发平台的比较 从1999年Kevin Ashton第一次提出这个概念以来,物联网已经经历了迅速的转变。随着近年来连接到物联网的设备在多样性和数量方面出现指数式的增长,物联网已经成为了一种主流技术,在推动现在社会的生活方式方面有着极大的潜力。 在物联网的技术与工程上,硬件与软件平台之间目前仍有明确的界限,其中大多数供应商都将精力放在硬件方面。只有极少数供应商提供物联网软件服务:例如,Mattermark根据所获总投资排名的前100名物联网创业公司中,只有13家提供物联网软件服务。 本文针对现有物联网软件平台,基于我们对IoT供应商进行的详细分析做了一份综合调查。而本文最后选择的物联网供应商,完全是基于这样的标准:这些供应商是否提供软件解决方案,来处理从物联网设备/传感器获取的信息。注意:虽然我们希望尽可能全面,但本文中仍有可能漏掉了一些这些平台的最新改进。 物联网软件平台想要的重要功能 基于最近的几份调查,我们选出了物联网软件平台最关键的功能:设备管理、集成、安全性、数据收集协议、分析类型以及支持可视化,以便对样本功能进行比较。本文的后半段中会对这些特性进行简单介绍。 设备管理与支持集成 设备管理是物联网软件平台所需的重要功能之一。物联网平台应当维护着一堆与之连接的设备,并跟踪这些设备的运行状态;还应当能够处理配置、固件(或其他软件)更新问题,并提供设备级的错误报告和处理方案。每天结束前,设备用户应当能够获得个人设备级的统计。 支持集成是物联网软件平台需要的另一个重要功能。需要从物联网平台上公布的重要操作和数据应当能通过API访问,REST API常用于这一目的。 信息安全 运营物联网软件平台所需的信息安全手段,比普通软件应用和服务所需的要求更高。数百万台设备与物联网平台连接,代表着我们需要处理的漏洞也是相应比例的。一般来讲,为了避免被窃听,物联网设备与物联网软件平台之间的网络连接需要通过强大的加密机制来保障。

物联网管理系统

1、简介 昆仑海岸物联网云服务平台是由北京昆仑海岸传感技术有限公司开发的面向物联网设备的数据服务平台。目前昆仑海岸物联网云服务平台需要和本公司自主研发的KL-H系列物联网网关产品配套使用,通过物联网网关可以实现对温度、湿度、照度、土壤温度、土壤水分、照度、二氧化碳、氧气等环境值的监控,同时可以下发控制命令,完成对一些设备的控制。通过这套系统,可以很好地实现智慧农业、智慧城市等一些项目。如图1: 图1

云服务平台功能分三个模块:应用模块、数据服务模块、单机版模块,如图2: 图2 应用模块:会员通过该模块,可直接享受数据服务、地图定位、历史记录、历史曲线等功能。 数据服务模块:会员通过该模块,可以将我公司服务器上的数据信息下载到本地计算机上,便于二次开发。单机版模块:会员通过该模块,可在自己的服务器上实现数据收发功能,便于二次开发。

2、申请账号与登录 用户通过浏览器(推荐使用非IE 内核的浏览器,如火狐浏览器)访问昆仑海岸物联网云服务平台(以下简称为“平台”),在浏览器地址栏中输入域名https://www.doczj.com/doc/7316202694.html, 进入平台主界面。 点击【注册】进入用户注册界面,填写相关信息并点击【确认提交用户信息】按键,如图3所示。 当用户申请账号操作完成后,需要等待账号被平台管理员授权后方可使用,若账 号未被授权,则登录时会出现如图4所示的提示。 会员通过浏览器(推荐使用非IE 内核的浏览器,如火狐浏览器)访问平台,在浏 览器地址栏中输入管理平台的域名https://www.doczj.com/doc/7316202694.html, 进入登陆界面。使用已被授权的账号 登陆管理平台,如图5 所示。 图 4 图 3 图5

登陆成功后,会员可【查看账户信息】,来查看账户信息、设备信息、以及联系 方式等。本平台一个账户最多可以提供5只物联网网关的服务,如果多于5只将不能 添加设备,会员可以拨打电话,来实现扩容服务。如图6: 图6

AnyLink Cloud 物联网云平台组态使用说明

AnyLink Cloud 组态画面使用说明 江苏紫清信息科技有限公司二零一六年三月

目录 1 新建画面 (3) 2 画面属性 (4) 3编辑画面 (4) 3.1功能菜单区 (5) 3.2画布工作区 (5) 3.3画布基本属性区 (5) 3.4组件库 (6) 3.4.1表格控件 (7) 3.4.2文本控件 (8) 3.4.3图形控件 (8) 3.4.4 Timestamp控件与Variable控件 (8) 3.4.5 设备控件 (10) 3.5数据项绑定 (10) 3.6画面主窗口与子窗口跳转 (12)

(1)AnyLink Cloud登录成功后选择项目列表中要编辑组态画面的具体项目名称,在该项目的“配置”菜单中选择“画面”子菜单,如图1-1。 图1-1:进入组态画面 注意:画面图表左上角的橘红色五角星表示该画面图在“项目画面”中默认展示,其他组态图可通过默认展示画面跳转。 (2)单击新建画面,输入画面名称,见图1-2; 图1-2:新建画面 注意:刷新间隔表示数据值实时刷新的频率,若不填则数据项按照采集频率刷新。

对于已经建好的画面图,点击“画面属性”可以修改其名称、刷新间隔时间、默认展示画面,如图2-1。 图2-1:画面属性 3编辑画面 单击“编辑画面”按钮直接进入画面图编辑功能模块,该模块包含四个区域:功能菜单区、画布工作区、基本属性区和组件库,如图3-1。 图3-1:画面编辑界面

3.1功能菜单区 组态图编辑基本功能区,常用的功能菜单:编辑、视图、布局、附加和管理。 用户可以实现文件的打开与保存、基本编辑操作、改变视图界面样式、更换背景画面、设置画布大小、对控件的布局调整等功能。 3.2画布工作区 即为构建画面结构图的区域。右键在空白处点击,可出现撤销和选择等选项。 3.3画布基本属性区 点击左上角格式化面板,选择是否显示右侧面板,点击画布工作区域空白处时,基本属性区只显示图表属性,可更改视图属性和页面尺寸等,如图3-2。 图3-2:画面基本属性区-图表

国内五大物联网平台优势分析及案例

国内五大物联网平台优势分析及案例 近几年物联网已经成为各行各业和资本争相追逐的风口,进入2018年,物联网热度持续不减,一个全球化的智能互联时代即将到来。那么国内的物联网发展处于什么水平?下面云里物里借此分析下国内五大物联网平台的优势。 1.百度“天工”智能物联网平台 2016年7月百度推出了名为“天工”的智能物联网平台,该平台是更侧重于面向工业制造、能源、物流等行业的产业物联网。百度天工是一个端到云的全栈物联网平台,其包含了物接入、物解析、物管理、时序数据库,规则引擎五大产品,以千万级设备接入能力,百万数据点每秒的读写性能,超高的压缩率,端到端的安全防护,和无缝对接天算智能大数据平台的能力,为客户提供极速、安全、高性价比的智能物联网服务。 优势: 1.百度天工作为智能化的物联网平台,是“云计算+大数据+人工智能”的三位一体。 2.天工赋能更多的行业软件SaaS服务,能够降低产业客户的上云成本,真正实现产业物联网。 应用案例: 1.以风力发电为例,百度天工已经将深度学习等人工智能技术应用于风机的预测性维保领域,将风机的故障预测准确率提升到90%,故障预测召回率高达99%,实现了人工智能与物联网的深度融合,极大地降低了设备运维成本和停机时间,延长了设备的生命周期。 2.太原铁路局使用了百度天工物联网平台高并发、高效率的数据接入,大数据对海量数据的清洗变形分析和机器学习算法进行调度优化。最终运行的效果表明,太原铁路局实现了业内实时最优物流调度,比原有调度效率提升达59%。 2.阿里Link物联网平台 2017年6月10日,在IoT合作伙伴计划大会2017(ICA)上,阿里巴巴IoT联合近200多家IoT产业链企业宣布成立IoT合作伙伴联盟,随后10月12日,阿里云在云栖大会上发布了Link物联网平台,将借助阿里云在云计算、人工智能领域的积累,将物联网打造为智联网。Link物联网平台将建设物联网云端一体化使能平台、物联网市场、ICA全球标准联盟三大基础设施,推动生活、工业、城市三大领域的智联网建设。 优势:该平台融合了云上网关、规则引擎、共享智能平台、智能服务集成等产品和服务,使开发者能够实现全球快速接入、跨厂商设备互联互通、调用第三方智能服务等,快速搭建稳定可靠的物联网应用。 应用案例:无锡鸿山与阿里云联合打造的首个物联网小镇,借助飞凤平台,无锡鸿山实现交通、环境、水务、能源等多个城市管理项目的在线运营,遍布整个小镇的传感设备将这座城市每个部件都链接起来,从数据采集、流转、计算到可视化展现,鸿山小镇建立起诸如污染监控、排水全链路仿真、市政设施监控等多个项目的城市运营智能化。 3.腾讯QQ物联智能硬件开放平台 2014年10月,“QQ物联智能硬件开放平台”发布,将QQ账号体系及关系链、QQ消息通道能力等核心能力,提供给可穿戴设备、智能家居、智能车载、传统硬件等领域合作伙伴,

温室大棚物联网系统操作手册

天下粮仓温室大棚物联网系统用户操作手册 河南省天下粮仓信息技术有限公司 2015年2月

目录 1. 系统登录 (3) 1.1 登录界面 (3) 1.2 公众入口登录 (3) 1.3 管理员用户登录 (3) 2. 系统设置 (4) 2.1 用户管理 (5) 2.2 传感器管理 (5) 2.3 设备管理 (5) 2.4 节点管理 (6) 2.5 摄像头管理 (7) 3. 视频监控 (8) 4. 实时监测 (8) 4.1 多传感器采集数据对比展示 (8) 4.2 单站点所有数据展示 (9) 5. 远程控制 (9) 5.1 控制设备信息展示 (9) 5.2 点击“打开”或者关闭 (10) 5.3 计划(添加计划) (10) 6. 数据分析 (10) 6.1 数据分析 (10) 6.2 设备数据 (11) 6.3 影像浏览 (12) 6.4 影像对比 (12) 附件1:设备控制命令 (12) 附件2:点X、Y坐标获取 (12) 附件3:传感器名称对应数据库列名 (14)

1. 系统登录 1.1 登录界面 系统登录界面 1.2 公众入口登录 公众入口登录 点击“公众入口”登录,进入主界面,用户只能浏览各站点的基本数据信息:1.3 管理员用户登录 根据系统管理员分配的用户名和密码进行系统平台的登录,其主界面如下:

管理员登录后界面 平台总体管理员(简称平台管理员)登录其主要功能包括:首页、视频监控、实时监测、远程控制、数据分析和系统设置(仅平台管理员可操作); 分配用户登录主界面,根据其具有的站点权限,其可操作主要功能包括:首页、视频监控、实时监测、远程控制、数据分析。 2. 系统设置 系统设置包括用户管理、节点管理、传感器管理、设备管理和摄像头管理。 系统设置界面

物联网平台-介绍

ATOS物联网教学实验开发系统 一、引言:“物联网”下的无线传感器网络 物联网是通过信息传感设备,按约定的协议实现人与人、人与物、物与物全面互联的网络,其主要特征是通过射频识别、传感器等方式获取物理世界的各种信息,结合互联网、移动通信网等网络进行信息的传送与交互,采用智能计算技术对信息进行分析处理,从而提高对物质世界的感知能力,实现智能化的决策和控制。 物联网技术和产业的发展将引发新一轮信息技术革命和产业革命,是信息产业领域未来竞争的制高点和产业升级的核心驱动力。 ?2009 年8 月7 日,国务院总理温家宝视察中科院无锡高新微纳传感网工程技术研发中心时发表重要讲话:提出了“在激烈的国际竞争中,迅速建立中国的‘传 感信息中心’或‘感知中国’中心”的重要指示; ?2009 年11月3日《让科技引领中国可持续发展》的讲话中,温家宝总理再次提出“要着力突破传感网、物联网关键技术,及早部署后IP时代相关技术研发, 使信息网络产业成为推动产业升级、迈向信息社会的‘发动机’”。 ?2010年两会期间,物联网再次成为热议话题。随着感知中国战略的启动及逐步展开,中国物联网产业发展面临巨大机遇。 ?《江苏省物联网产业发展规划纲要》指出:至2012年,完成物联网特色化产业基地建设,形成全省产业发展的空间布局和功能定位,销售收入超过1500亿元, 集聚规模以上企业1000家以上,形成年销售额超十亿元的龙头企业10家以上, 孵化一批具备较强竞争力的创新型中小企业,培育上市企业10家以上。至2015 年,销售收入超过4000亿元。 ?随着信息采集与智能计算技术的迅速发展和互联网与移动通信网的广泛应用,大规模发展物联网及相关产业的时机日趋成熟,欧美等发达国家将物联网作为未来 发展的重要领域。美国将物联网技术列为在经济繁荣和国防安全两方面至关重要 的技术,以物联网应用为核心的“智慧地球”计划得到了奥巴马政府的积极回应 和支持;欧盟2009年6月制定并公布了涵盖标准化、研究项目、试点工程、管 理机制和国际对话在内的物联网领域十四点行动计划。 无线传感网络正是适应于这样背景下的全新网络技术。无线传感器网络(Wireless Sensor Networks,WSN)是当前国际上备受关注的、涉及多学科高度交叉、知识高度集成的前沿热点研究领域。它综合了传感器、嵌入式计算、现代网络及无线通信和分布式信息处理等技术,能够通过各类集成化的微型传感器协同完成对各种环境或监测对象的信息的实时监控、感知和采集,这些信息通过无线方式被发送,并以自组织多跳的网络方式传送到用户终端,从而实现物理世界、计算世界以及人类社会这三元世界的连通。 可以预见,在不久的将来,无线传感网络将给我们的生活带来革命性的变化。

M2M物联网卡管理支撑系统V2.0操作手册(代理企业)

M2M物联网卡管理支撑系统V2.0 代理企业操作手册 2017/8/28

目录 1 系统说明 (3) 1.1 产品概括 (3) 1.2 角色定义 (3) 2 操作说明 (4) 2.1 用户登录 (4) 2.2 开户管理 (5) 2.2.1 企业开户 (5) 2.3 订单管理 (7) 2.3.1 订单划拨 (7) 2.3.2 售后退卡 (10) 2.4 物联卡管理 (11) 2.4.1 我的卡片 (11) 2.4.2 查看卡片信息 (12) 2.4.3 停机/开机 (14) 2.4.4 查看到期预警卡片 (14) 2.4.5 短信群发 (16) 2.5 短信管理 (18) 2.5.1 短信购买 (18) 2.5.2 短信划拨 (19) 2.5.3 短信收发 (20) 2.6 权限管理 (21) 2.6.1 增加角色权限 (21) 2.6.2 添加系统帐号 (24)

1.1产品概括 物联网卡基于物联网专网,采用物联网专属号段,通过专用网元设备支持短信、GPRS通信、语音等基础通信服务,M2M管理支撑系统提供基础通信能力、终端状态查询、账务信息查询、业务统计分析、灵活计费功能等管理服务,默认可开通物联网专用的短信接入服务号和物联网通用APN。 1.2角色定义 【代理企业】: 1、能开通普通企业、划拨卡片给予普通企业; 2、查阅卡片详情、导出卡片、套餐续订、套餐变更、叠加充值、折扣 设置; 3、卡片管理:短信发送、停机、流量统计 4、预存款、公众号充值对账、API接口管理等 【普通企业】 1、订单管理:订单详情、卡片订购、续费订单 2、卡片管理:流量统计、发送短信、套餐详情 3、财务明细、API接口管理等

电梯物联网平台使用手册

电梯物联网平台使用手册 https://www.doczj.com/doc/7316202694.html, GreatAdmin Great2014

一、用户登录 1.1 打开网页平台出现登陆界面,输入平台账号以及密码(登录域名、账号密码与一代平台所配的账号密码 一致,权限继承一代平台的权限)。 如果用户已经获取电梯物联网登陆账号信息,在相应输入框内输入用户名,密码等信息后,即可登录系统;如果用户没有电梯物联网登陆账号信息,需要联系汇川客服人员来解答有关问题。 登录方式如图1-1 图1-1 二、权限管理 权限管理 用户管理角色管理 登录首页后首先进入权限管理模块,权限管理模块分为角色管理和用户管理两个子模块,用户先进行角色信

息的创建,再进行用户的创建。 2.1 角色管理 2.1.1 进行新建角色:点击角色管理,进入添加角色,如图2-1; 图2-1 2.1.2填入角色名称及角色描述后提交,如图2-2: 图2-2 2.1.3给新建的角色分配权限 所有新建的角色都需要分配权限才能使用,选中新建的角色名称,点击对应菜单,勾选需要对角色分配的权限后提交,这样就创建好了一个角色。如图2-3

图2-3 需要按此依次创建安装单位用户、维保单位用户、产权单位用户、使用单位用户、物业单位用户的角色及分配权限;

2.2 用户管理 用户管理模块用于添加用户开户。 2.2.1新建用户:点击添加用户按钮,依次填入用户资料后提交,如图2-4 图2-4 2.2.2新建用户角色分配 新建的用户都需要分配角色才能使用,选中新建的用户名称,点击对应角色,勾选需要对用户分配的角色后提交,这样就创建好了一个用户。如图2-5

物联网简介

物联网简介 ——物联极码系列之一一、物联网的定义: 物联网就是物物相连的互联网,通过各种信息传感设备,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,与互联网结合形成的一个巨大网络;其目的是实现物与物、物与人所有的物品与网络的连接,方便识别、管理和控制。 二、物联网网络架构: 物联网网络架构由感知层、网络层和应用层组成。感知层实现对物理世界的智能感知识别、信息采集处理和自动控制并通过通信模块将物理实体连接到网络层和应用层。网络层主要实现信息的传递、路由和控制,包括延伸网、接入网和核心网,网络层可依托公众电信网和互联网,也可以依托行业专用通信网络。应用层包括应用基础设施/中间件和各种物联网应用。应用基础设施/中间件为物联网应用提供信息处理、计算等通用基础服务设施、能力及资源调用接口,以此为基础实现物联网在众多领域的各种应用。

三、物联网的现状与挑战: 近年来物联网的发展进入了快车道,世界各国也对物联网的发展前景表现出极大的热情,但是物联网还处于产业发展初期,仍有许多瓶颈等待突破。有专家总结以下几点: 1.缺乏统一的标准体系。 物联网从一种概念变为一种产业,进而形成真正的市场,需要大规模的物联网应用引导物联网产业的健康发展。在全世界范围内,尚没有统一的标准体系出台,标准的缺失影响了不同物联网企业的产品间的相互识别与互通互联,因而大大制约技术的发展和产品的规模化应用。尽快制定统一、规范的标准是物联网产业化发展的前提。 2.商业模式的问题。 物联网分为感知,网络,应用三个层次,在每一个层面上,都将有多种选择去开拓市场。目前没有一个成熟发展的商业盈利模式来推动行业的持续发展。 3.技术层面的制约。 限制物联网感知层的关键因素之一是能源!物联网的设备的小型化制约了设备电池的供电能力和可利用的太阳采光面积,所以低功耗的运行以及高效的

物联网平台操作手册模板例子写作说明

作物生长远程感知物联网平台集成系统 XXXX XXXXXXXXXXXXXXXXXX 2018 年 5 月目录 1、系统运行环境1 1.1 硬件环境6

1.2 软件环境 6 1.3 系统安装 6 1.4 系统卸载 6 2、系统登录6 2.1 系统登录界面6 2.2 系统主界面7 3、系统管理7 3.1 主要功能7 3.2 修改密码8 3.3 用户查询与管理8 3.4 新建用户8 4、数据管理错误! 未定义书签。 4.1 调用本地数据错误! 未定义书签。 4.2 调用网络数据与新建服务器连接错误!未定义书签 5、空间数据编辑错误!未定义书签。 6、空间信息查询错误!未定义书签。 6.1 点击查询功能错误! 未定义书签。 6.2 管线与阀门所有信息查询功能错误! 未定义书签。 6.3 属性查图功能错误! 未定义书签。 6.4 矩形与多边形查询功能错误! 未定义书签。 6.5 缓冲区查询功能错误! 未定义书签。 7、空间分析错误! 未定义书签。 7.1 连通性分析功能错误! 未定义书签。 7.2 流向分析功能错误! 未定义书签。 7.3 管线最优路径分析功能错误! 未定义书签。 7.4 爆管分析功能错误! 未定义书签。 1 系统介绍 中国农业发展面临着资源短缺、生态环境恶化、资源的高投入、粗放式经营、农产品质量安全等问题的严峻挑战,发展现代农业已成为必然选择。作为人口大国,要保障粮食生产的安全性和可持续发展,必须大力发展现代

农业信息技术,尤其是以物联网技术为代表的高新技术。物联网作为现代信息技术的新生力量,是推动信息化与农业现代化融合的重要切入点。在作物生长发育过程中,易受环境复杂多变影响,如何准确预测环境胁迫和作物长势等重大农情,实现远程监控与诊断管理,是目前精准农业管理中亟待解决的重大技术难题。因此,必须大力发展农业物联网技术,这对于保障国家粮食安全、提高我国农业可持续发展和国际竞争力均具有重要意义。 我国物联网技术的研究仍处于初步探索和试验示范阶段,尤其是在大田粮食作物生产中的研究非常少。近年来,主要粮食作物易受环境和灾害影响,其监测的自动化和生产管理过程的智能化水平低,信息获取滞后且综合性差等问题,严重影响粮食作物生产过程快速决策管理。夏于等设计了小麦苗情远程诊断管理系统,可对小麦生产过程和主要气象灾害进行精准监测和快速诊断;孙忠富等开发的温室远程数据采集和信息发布系统,可以获取环境信息和作物生长信息;张琴等构建了小麦苗情远程监测与智能诊断管理系统,可以获取田间现场环境信息,并结合专家知识数据库,可对小麦长势、干旱和冻害进行监测。于海洋等开发了农作物苗情监测系统,可实现对农作物长势、产量及品质监测。但这些系统大多数存在结构设计简单、功能单一、采集的数据未进行深层次挖掘和处理、研发与应用成本过高等问题,无法实现大面积对粮食作物生长环境进行远程监控和视频诊断。为

物联网软件需求分析说明书

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2任务概述 (4) 2.1目标 (4) 2.2用户的特点 (4) 2.3假定和约束 (4) 3需求规定 (6) 3.1对功能的规定 (6) 3.2对性能的规定 (7) 3.2.1精度 (7) 3.2.2时间特性要求 (7) 3.2.3灵活性 (7) 3.3输人输出要求 (7) 3.4数据管理能力要求 (7) 3.5故障处理要求 (8) 3.6其他专门要求 (8) 4运行环境规定 (8) 4.1设备 (8) 4.2支持软件 (9) 4.3接口 (9) 4.4控制 (9)

软件需求说明书的编写提示 1引言 1.1编写目的 需求说明书有时候也被称为规格说明书,本规格说明描述了酒店管理系统项目的要求,并且作为各方面沟通的依据,也为下一步工作提供基准。 软件开发小组的每一位成员应该阅读本需求说明,以明确项目最后要求完成的软件产品的特点。经使用方认可的需求说明将作为软件产品特征评价、仲裁的重要参考。 1.2背景 说明: a、软件系统的名称:基于物联网技术的教学资源信息交换平台 b、任务提出者:武科大中南分校信息工程学院教务管理科 开发者:武科大中南分校信息工程学院学院软件实验室 本项目将实现:校园内教学资源信息交换(此交换对于教师与学校教学信息的交互)c、数据共享通过SQL Server数据库表的公共访问来实现。 本系统将使用SQLSever2008作为数据库存储系统,SQLSever2008企业版将由开发小组自行购买。 1.3定义 暂无。 1.4参考资料 相关的文件包括: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.属于本项目的其他已发表的文件;

物联网平台说明书

物联网平台硬件简要说明书 一、硬件框图 二、平台资源介绍 1、 ARM处理器(网关节点) 基于ARM Cortex-A8的高性能处理器架构体系,低功耗、低成本、外设资源丰富,可安装Android 4.0。 频率从 600MHz到1GHz以上 NEON SIMD 指令集 Thumb-2 指令集编码 内置高性能的图形处理器SGX540 128 位 SIMD 数据引擎 2、 Zigbee模块 2.1 CC2530模块(协调器、终端节点) CC2530模块由CC2530芯片模块+底板模块组成(底板模块用于接口扩展)。CC2530模块中包括一个协调器模块,其他用于终端节点模块。协调器模块接一个LCD面板,可用于跟踪显示Zigbee建

网信息,终端节点接各种传感器。 2.2 传感器模块 (1)光敏传感器 (2)烟雾传感器 (4)温湿度传感器 (5)火焰传感器 (6)气体传感器 (7)热释红传感器 (8) 磁通传感器 3、RFID 设备模块 (1) RFID模块 (2) RFID标签 4 、蓝牙模块 (1)主蓝牙模块 (2)从蓝牙模块,可接多种传感器 5、CC-Dubug 仿真器,RS232 CC-Dubug用于烧写或调试Zigbee 模块,RS232用于zigbee模块与上位机信息交互 6、开关选择模块 选择特定的zigbee模块烧写程序或与上位机串口通信 三、配件方案 1 ARM处理器 方案一: (1)购买 (2)推荐产品:友善之臂Tiny210SDK2+LCD (3)价格:799-1099,不包括配件 (4)可选配件:3G上网卡,SD WIFI ,CMOS摄像头,监控摄像头模块,GPRS模块 2、 Zigbee模块 方案一:CC2530芯片模块管脚间隔与万能板间距一样,底板模块自己定制。 (1)购买CC2530芯片模块,万能板,其他配件 (2)推荐产品:鼎泰克电子有限公司出的DRF1605(CC2530芯片模板) (3)价格:协调器模块+LCD+万能板+其他配件 终端节点+底板模块 传感器 方案二 CC2530芯片模块+特定底板模块 (1)购买 (2)推荐产品:丘捷科技有限公司出品

温室大棚物联网系统操作手册

天下粮仓温室大棚物联网系统用户操作手册河南省天下粮仓信息技术有限公司 2015年2月 目录

1. 系统登录 登录界面 系统登录界面 公众入口登录 公众入口登录 点击“公众入口”登录,进入主界面,用户只能浏览各站点的基本数据信息: 管理员用户登录 根据系统管理员分配的用户名和密码进行系统平台的登录,其主界面如下: 管理员登录后界面 平台总体管理员(简称平台管理员)登录其主要功能包括:首页、视频监控、实时监测、远程控制、数据分析和系统设置(仅平台管理员可操作); 分配用户登录主界面,根据其具有的站点权限,其可操作主要功能包括:首页、视频监控、实时监测、远程控制、数据分析。 2. 系统设置 系统设置包括用户管理、节点管理、传感器管理、设备管理和摄像头管理。 系统设置界面

用户管理 平台管理员可以对各项用户信息进行增加、修改、删除和保存: 2.1.1增加:点击后面新增图标,会出现新增行,可添加新的用户信息; 编辑:点击每行后面的编辑图标,使该行内容出于可编辑状态,并对其各项信息及管理的站点编号(该编号即在节点管理中新增或已有的ID号)进行编辑; 编辑用户信息 2.1.3删除:点击每行后面的删除图标,出现删除提示框,点击“确定”即删除此行,“取消”则返回; 删除用户信息 2.1.4保存:点击上面的保存图标,则对以上管理员操作的所有变更信息进行保存。 传感器管理 根据硬件传感器设备的类型及基本参数进行传感器信息的新增()、编辑()、删除()和保存()。 需要添加参数有ID(系统自动生成)、传感器描述和传感器名字(传感器名称)、传感器单位(参照传感器参数表)。 传感器管理列表 设备管理 根据硬件控制设备的类型及基本参数进行传感器信息的新增()、编辑()、删除()和保存(),该四项基本功能的操作如同用户管理; 需要添加参数有ID(系统自动生成)、设备类型和设备信息(控制设备名称)、关联传感器类型(参照2.3.1)、设备类型Icon(系统分配的传感器图标)、打开设备命令和管理设备命令(硬件设备控制命令参照表,见附件1)。 2.3.1 关联传感器类型 均在传感器管理中找到其对应的ID。例如: 内部照明和外部照明:根据空气温度(在传感器管理中空气温度的ID为26)来调节开关状态,此时就应设置为26; 水泵:和土壤湿度(传感器管理中ID为29)有关,此处设置为29; 卷帘机:和光照强度(传感器管理中ID为33)有关,此处设置为33。 设备管理列表 节点管理 根据站点的基本参数进行站点信息的新增()、编辑()、删除()和保存(),该四项基本功能的操作如同用户管理;

物联网测试平台介绍

物联网测试平台介绍 当前,在新一代信息通信技术的冲击下,物联网正加速向城市管理、新能源、医疗、制造等其他领域渗透。特别是近年来,随着发达国家和地区纷纷出台物联网相关政策进行战略布局,希望在新一轮信息产业发展中抢占先机,全球物联网产业呈现快速增长的态势,物联网成为继计算机、互联网之后,世界信息产业的第三次浪潮。 物联网可以划分为感知层、网络层和应用层这三个部分,感知层主要是由各种嵌入的芯片、传感器和传感器相关的网关构成,比如温度传感器、湿度传感器等,感知层主要的作用就是对物体进行识别和对信息进行采集;网络层主要是由各种私有的网络、互联网、有线的或者无线的通信网、网络管理的系统以及云计算的平台组成的,对网络层就好比是人的大脑和神经组织,主要的作用就是负责传递信息和处理感知层获取的信息等;应用层主要的作用是物联网和用户的一个接口和连接,与行业的需求相结合,以更好地实现物联网的智能应用。 oitek系列产品是一款便携式、多功能环境监测终端。产品采用高精度传感器技术,具有体积小、重量轻、设计简洁、安装方便、等特点。 功能特点 1、实时数据采; 2、远程实时监控:通过物联网技术的应用,远程实时监控装置运行情况;

3、远程数采基于WIFI通讯模块和3G安全通讯模块高效、可靠、安全; 4、手机短信实时报警:第一时间收到设备报警信息,利于设备管理; 5、手机App接入:满足手机Android系统、IOS系统实时在线访问装置状态信息; 6、融入先进理念:设备预防性维护、预知性维修、保养、操作流程; 7、流程闭环管理:系统遵循计划、执行、检查、处理的闭环流程管理; 8、全球联网覆盖:支持WIFI、3G、RJ45、RS232等方式,满足个性化需求; 9、集成视频监控现场可无人值守,现场视频和工业数据一起传输; 10、数据通过远程控制方式,关键操作提供远程和APP移动控制。 配套应用软件和管理系统 安装环境 -本管理系统独立安装于本地服务器系统,或云服务器系统上。 执行功能 -为用户提供基于WEB界面的在线管理平台,执行设备管理、监测数据管理、用户管理、展示发布管理、生成数据报表等功能。来自oitek。

温室大棚物联网系统操作手册

天下粮仓温室大棚物联网系统 用户操作手册河 南省天下粮仓信息技术有限公司 2015 年2 月 目录 1. 系统登录. ................................................................. 1.1 登录界面. ............................................................ 1.2 公众入口登录. .......................................................... 1.3 管理员用户登录. ...................................................... 2. 系统设置. 3. 视频监控. ................................................................. 4. 实时监测. ................................................................. 4.1 多传感器采集数据对比展示. ............................................... 4.2 单站点所有数据展示. ................................................... 5. 远程控制. ................................................................. 5.1 控制设备信息展示. ....................................................... 5.2 点击“打开”或者关闭. ................................................... 5.3 计划(添加计划) . .................................................. 6. 数据分析. ................................................................. 6.1 数据分析. ............................................................ 6.2 设备数据. ............................................................ 6.3 影像浏览. ............................................................ 6.4 影像对比. ............................................................ 附件1:设备控制命令 ................................. 附件2:点X、Y 坐标获取 ............................. 附件3:传感器名称对应数据库列名............................ 1. 系统登录 1.1 登录界面 系统登录界面 1.2 公众入口登录 公众入口登录 点击“公众入口”登录,进入主界面,用户只能浏览各站点的基本数据信息:

物联网入门手册范本

物联网入门手册

目录 一、物联网简介 (5) 1.1常见定义 (5) 1.2主要特征 (5) 1.3产生背景 (6) 1.3.1物联网实践追溯 (6) 1.3.2物联网发展 (6) 1.3.3智慧地球 (7) 1.3.4 物联网成为新兴战略产业 (7) 1.4物联网的技术架构 (8) 1.5物联网发展的近况 (9) 1.5.1政府部门积极推动物联网发展 (9) 1.5.2国形成了RFID、M2M、传感网等丰富的物联网应用 (10) 1.5.3全社会对物联网的涵尚未取得共识 (11) 二、物联网相关技术简介 (11) 2.1物联网技术 (11) 2.1.1射频识别(RFID) (11) 2.1.2 RFID的基本组成部分 (12) 2.1.3 RFID技术的基本工作原理 (12) 2.1.4 RFID标签的类别 (13) 2.1.5. 工作频率指南和典型应用 (15) 2.1.6 RFID技术的典型应用 (19) 2.2全球定位系统 (22) 2.2.1 GPS构成分为以下部分 (22) 2.2.2 GPS功用 (23) 2.3红外线感应器 (24)

2.3.1红外线感应器原理 (24) 2.4嵌入式系统技术 (24) 三、物联网相关产品及解决方案 (25) 3.1.物联网的终端产品分类 (25) 3.2.物联网产品的层次关系 (26) 3.3相关产品举例 (27) 3.4物联网解决方案 (27) 四、常见的物联网 (30) 一、物联网简介 1.1常见定义 从信息技术的角度来说,物联网是指具有感知和智能处理能力的可标识的亿万物品,基于标准的、可互操作的通信协议,在宽带移动通信、下一代网络和云计算平台等技术的支撑下,智能处理物品或环境的状态信息,提供对其进行管理和控制的决策依据,甚至在人类直接干预或无需人工干预情况下实现联动,从而形成信息获取、物品管理和控制的安全可信的全球性信息系统。 物联网是继个人计算机、互联网及移动通信网络之后的全球信息化的第三次浪潮,是传感网、互联网(移动通信)、云计算,以及智能信息处理等信息技术发展到一定阶段,在应用需求和供给创新的双轮驱动下,通过水平分层与垂直整合技术脉络与产业链条而形成的全球性信息系统。

信锐技术物联网平台基本配置指导手册-含联动策略配置步骤

信锐技术物联网平台基本配置指导手册 信锐网科技术有限公司https://www.doczj.com/doc/7316202694.html,

前言 概述 本文介绍了信锐物联网基本配置指导,以下相关功能配置均基于 iotp 3.6.1 版本。图示 符号说明 +注意有潜在风险,请谨慎操作。 ?窍门能帮助您解决某个问题或节省您的时间。 &说明是正文的附加信息,是对正文的强调和补充。

目录设备登录 (1) 1.1登录公有云 (1) 1.2登录私有云 (1) LoRa 网关激活 (2) 2.1通过信锐设备配置工具手动指定云平台方式 (2) 1)网络拓扑 (2) 2)信锐配置工具下载 (3) 3)配置步骤 (3) 2.2通过D HCP option43 方式在云平台发现 (7) 1)连接公有云 (7) 2)连接私有云 (8) 物联网数据采集主机 (9) 3.1数据采集主机激活 (9) 3.2在采集主机上激活传感器 (10) 传感器激活 (12) 4.1直接通过L oRa 激活 (12) 用前须知 (12) 1)智能插座 (13) 2)温湿度传感器 (14) 3)空调面板 (15) 4)红外网关 (17) 5)热释电被动红外人体检测器 (20) 6)零火智能触摸面板开关 (22) 4.2通过数据集控器激活 (23) 数据集控器介绍 (23) 用前须知 (24)

文档来源:信锐技术物联网平台基本配置指导手册 1)漏液定位传感器 (26) 2)漏液不定位传感器 (28) 3)烟雾传感器 (29) 4)机架式温湿度传感器 (30) 5)智能门磁 (31) 6)智能门锁 (33) 7)第三方传感器 (36) 4.3 其他 (36) 1) 摄像机对接 (36)

-物联网介绍

-物联网介绍 一、物联网介绍 物联网(The Internet of things)是在互联网基础上,通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,将任何物品与互联网相连接,进行信息交换和通讯,以实现智能化识别、定位、追踪、监控和管理的一种网络技术叫做物联网技术。物联网被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。 “物联网”概念的问世,打破了之前的传统思维。过去的思路一直是将物理基础设施和IT基础设施分开:一方面是机场、公路、建筑物,而另一方面是数据中心,个人电脑、宽带等。而在“物联网”时代,钢筋混凝土、电缆将与芯片、宽带整合为统一的基础设施,在此意义上,基础设施更像是一块新的地球工地,世界的运转就在它上面进行,其中包括经济管理、生产运行、社会管理乃至个人生活。 物联网相关技术已经广泛应用于交通、物流、教学、医疗、卫生、安防、家居、旅游及农业等领域,在未来3年内中国物联网产业将在智能电网、智能家居、数字城市、智能医疗、车用传感器等领域率先普及,五个领域将实现三万亿的总产值。中国是物联网国际标准的主导国,标志着我国在未来物联网发展领域将占据举足轻重的地位。如何促进技术也理念革新,突破物联网发展瓶颈,把撑物联网发展态势,加强行业经验交流,谋求行业资源整合与优势互补等将成为中国物联网发展面临的问题。

二、RFID技术介绍 1、何谓RFID RFID是英文"Radio Frequency Identification"的缩写,中文称为无线射频身份识别、感应式电子芯片或是近接卡、感应卡、非接触卡...等等,是非接触式自动识别技术的一种最简单的RFID系统是由卷标(Tag)、读取器(Reader)和天线(Antenna)三部分组成:当卷标进入磁场区域后,接收的读取器发出信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(Passive Tag,无电源卷标或称被动卷标),或者主动发送某一频率的信 1 号(Active Tag,有电源卷标或称主动卷标);读取器读取信息并译码后,送至中央信息系统进行有关的处理,但在实际应用中需要其它的软硬件支持。 根 2、RFID之特性

物联网信息平台数据库设计文档

文档编号: 版本号: 某省物联网信息平台 数据库设计说明书 海南博翱科技发展有限公司 2011年10月20日

目录 一、引言 (3) 1.1 编写目的 (3) 1.2 项目背景 (3) 1.3 定义 (3) 二、实体、对象命名规范 (4) 2.1 表名的命名规范 (4) 2.2 表的字段命名规范 (4) 2.3 视图命名规范 (4) 2.4 触发器命名规范 (4) 2.5 存储过程命名规范 (4) 三、数据库模型设计 (5) 3.1 数据实体-关系图(E-R) (5) 3.2 数据字典 (11) 3.2.1 数据表 (11) 3.2.2 视图 (32) 3.2.3 存储过程 (32) 3.2.4 函数 (35)

一、引言 1.1 编写目的 该文档主要为某省物联网信息平台理清数据库关系和数据流程,以及进一步明确需求。 预期读者:开发人员、测试人员、需求人员 1.2 项目背景 ◆项目名称:某省物联网信息平台 ◆项目建设单位:某省厅 ◆项目建设目标:某省物联网信息平台计划实现固定资产管理、农资发放调拨自动化管理:利 用RFID技术无线射频自动识别和GSM通信网络无线远程传输功能,实现对固定资产管理、农资发放全业务流程(采购入库、调拨、领取、盘点等)过程的智能化动态实时跟踪集中监控管理。为设备资产采购和农资配送决策、合理调配提供了准确的参考数据,有效增大厅资金使用边际效益和提高使用率,减少无谓的重复投放和闲置浪费。通过物联网信息技术,搭建我省农用物资发放监控网络,用新理念、新机制和新手段,加快农用物资发放监控信息化、现代化进程,推进信息化建设,促进增效、农民增收。 1.3 定义 E-R图即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。

相关主题
文本预览
相关文档 最新文档