OpenBlocks_iot_Developer_Guide Open Blocks Developer Guide V3.1.0 Eng 20180604
User Manual:
Open the PDF directly: View PDF .
Page Count: 39
Download | ![]() |
Open PDF In Browser | View PDF |
OpenBlocks IoT Family Developer Guide Version 3.1.0 Plat'Home Co., Ltd. ■ About trademarks ・ Linux is a trademark or registered trademark of Linus Torvalds in the United States and/or other countries. ・ Company and product names mentioned in this Developer Guide may be trademarks or registered trademarks of their respective companies. ・ Product names and other proper nouns in this Developer Guide are trademarks or registered trademarks of their respective companies. ・ Docker and Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. ■ Before using this product ・ No reproduction of this material is allowed without written permission of Plat'Home Co., Ltd. ・ Content and information contained within this material may be changed or updated without prior notice. ・ We consistently aim to keep the content in this material as precise as possible. However, should any errors in descriptions, etc. be noticed, please contact Plat'Home Co., Ltd. The latest version of this material can be downloaded from our website. ・ While using this product, please be aware that it is not designed or assumed for use in fields where there is a risk to life. ・ Regardless of the aforementioned, in no event will Plat'Home be liable for any special, incidental, indirect or consequential damage arising out of use of this product, including but not limited to damage to profits or loss. Table of contents Chapter 1 General .................................................................................................................. 5 1-1. Items included in package for VX2 .............................................................................. 5 1-2. Names of parts (VX2 main body) ................................................................................ 6 Chapter 2 Before starting to use the OpenBlocks IoT Family................................................ 8 2-1. Product overview ......................................................................................................... 8 2-2 Cautions about SSD-based system development ....................................................... 8 2-3 About SIM cards ..........................................................................................................11 2-4 eMMC storage partition information ............................................................................11 2-5 Storage mode ............................................................................................................. 12 2-6. Connecting PC to OpenBlocks IoT Family ................................................................ 13 2-7. WEB UI ...................................................................................................................... 14 Chapter 3 Using the OpenBlocks IoT Family ....................................................................... 15 3-1. Indication colors of status indicators ......................................................................... 15 3-2. Modem control for mobile networks .......................................................................... 18 3-3-1. On-demand connections ........................................................................................ 20 3-3-2. User control of mobile network modem ................................................................. 21 3-4. Backup ....................................................................................................................... 24 3-5. Restoration ................................................................................................................ 25 3-6. Applications................................................................................................................ 26 3-7. WEB UI extensions.................................................................................................... 27 3-7-1. Script editing ........................................................................................................... 27 3-7-2. Command execution .............................................................................................. 28 3-7-3. SMS command execution ...................................................................................... 28 3-8 Switching boot modes ................................................................................................ 29 3-9. WEB UI extensions.................................................................................................... 29 3-10. Special setting of WEB UI filter table ...................................................................... 29 3-11. Sending SMS messages ......................................................................................... 30 3-12. Switching operations of LTE module (KDDI) ........................................................... 30 3-13. Factory Reset (Reset to condition at time of factory shipment) .............................. 32 3-14. Recovery startup ..................................................................................................... 33 3-15. Building a cross-development environment ............................................................ 33 3-16. Automatic external storage mounting in WEB UI .................................................... 34 3-17. Recommended device files to use .......................................................................... 35 3-18. Docker ..................................................................................................................... 35 Chapter 4 Product specifications ......................................................................................... 36 3/39 4-1. Open Blocks IoT VX2 main body specifications ....................................................... 36 4-2. OpenBlocks IoT VX series options ............................................................................ 37 4-2-1. 3G module .............................................................................................................. 37 Chapter 5 Cautions and supplementary information............................................................ 38 5-1. Countermeasures against delays due to script processing ...................................... 38 5-2. List of ports used ....................................................................................................... 38 4/39 Chapter 1 General This manual is a developer guide for the OpenBlocks IoT Family. If a general user, please refer to the OpenBlocks IoT Family WEB UI Set-up Guide. 1-1. Items included in package for VX2 Standard configuration of OpenBlocks IoT VX2 is as follows: 1 x VX2 main body 1 x USB Type-A Micro USB cable 1 x Start-up Guide 1 x AC adapter 1 x Heat radiation and installation bracket 5/39 1-2. Names of parts (VX2 main body) No. Name Remarks ① USB serial console port Micro USB Micro-B ② Ethernet port 0 10BASE-T / 100BASE-TX / 1000BASE-T ③ Ethernet port 1 10BASE-T / 100BASE-TX / 1000BASE-T ④ Power switch ⑤ FUNC switch Enables allocated functions. ⑥ Status indicator LEDs illuminate or flash in seven colors. ⑦ RS-485 (half duplex) connector ⑧ Wide range power supply input ⑨ USB host mode port A-Type/USB3.0 ⑩ USB host mode port A-Type/USB3.0 ⑪ FUNC switch Enables allocated functions. Shuts down OS if in operation. Starts up OS if not in operation. 6/39 No. ⑫ Name Power switch Remarks Shuts down OS if in operation. Starts up OS if not in operation. ⑬ Status indicator LEDs illuminate or flash in seven colors. ⑭ SIM slot Slot for inserting SIM card. *Supports mini-SIM card format (2FF) (standard SIM) ⑮ As MMC cards cannot secure sufficient reliability MMC slot for system operations, use them for file exchanges and log storage only. ⑯ Expansion slot 2 Expansion slot for EnOcean, Wi-SUN and other modules. ⑰ Expansion slot 1 Expansion slot for mobile adapter card of mobile networks. Mobile adapter card supporting carrier To be use is mounted. Essentially, this is a factory option. ⑱ DIP switch As this switch is set prior to factory shipment, do not alter the settings. SW1-3: For modem identification SW4-5: Not used SW6: OFF=RS485 terminator ON (default) ⑲ Holes to install external antenna ⑳ Holes to mount heat radiation Holes are unopened in image. and installation bracket *To insert a SIM card, turn the VX2 main body upside down and insert into the back of the slot. Similarly, to remove a SIM card, turn the VX2 main body upside down and extract the card. ●Modem type identification Modem type SW1 SW2 SW3 3G module ON OFF OFF Modem uninstalled ON ON ON 7/39 Chapter 2 Before starting to use the OpenBlocks IoT Family 2-1. Product overview The OpenBlocks IoT Family is a general-purpose server product employing Debian GNU/Linux as an OS. Though customized to take advantage of hardware properties, it is possible to use the OpenBlocks IoT Family in a general operational method for Debian and other Linux products, apart from such customization. 2-2 Cautions about SSD-based system development In recent times, cost reductions in flash memories have led to the employment of Solid State Drives ("SSD"), replacing conventional hard disk drives used in smartphones, laptop PCs and many other devices. This product uses embedded MMC (eMMC), which is a type of SSD. With advantages such as high-speed random access performance and solid-state design, SSD has extremely high resistance against mechanical failures and environmental performance. However, compared to hard disk drives, the data writing limit is a lot less. SSD can generally be divided into SLC and MLC. The SLC type with tens of thousands of counts of write performance was the mainstream in the capacity range of a few gigabytes, but the low-cost MLC with a write count of thousands has drastically increased capacity and is applied to smartphones and PCs. Currently, SLC SSDs are gradually being faded out. In actual fact, SLC products as options for our micro-servers only remain in the range of small capacity products. Thus, the number of operations with micro-servers using MLC SSD is enormous. Generally, MLC has a write capability of 3,000 times. Just beyond 3,000 times, it starts to cause bit errors, which can be recovered with ECC. As soon as MLC exceeds the limit for an ECC recovery, read errors will be caused. Therefore, consider system design to avoid MLC being in this condition. 8/39 ●Write count per cell and block size of flash memory Despite a write capacity of 3,000 times per cell, just one byte of writing onto an SSD means one count. To support large capacity with a small number of address lines, recent flash memory is read and written in a block as large as 512 KB. In other words, writing one byte or 512 KB is counted once. For this reason, in relation to writing on SSD, it is possible to minimize the number of write counts on SSD by writing in large data sizes through accumulating as much data as possible in a buffer, as opposed to writing in small data sizes with more counts. ●Wear leveling function As SSD can endure only a relatively small number of write cycles in a specific block, it will average the number of writes so that the writes do not concentrate on the same actual block address against actions to write onto the same block over and over. This is achieved by virtualizing block addresses. OS will notify used and unused blocks to SSD. In order to be ready for a next write to be performed, SSD will prepare a block with the smallest number of writes for a write. By doing so, the number of writes to individual blocks are consequently averaged out. ●Static wear leveling In the case of conventional wear leveling, it is assumed that 50% of data is in a used domain and rarely rewritten. This means that since installation of OS, 50% of available blocks are written only once. While these blocks are virtually new, the remaining 50% are rewritten over and over. Compared to the case where rewriting is averaged, the end life for SSD comes twice as fast. As a countermeasure to this, static wear leveling was devised. Data in rarely rewritten blocks are moved to frequently rewritten blocks, while applying blocks that are virtually new to a domain for reuse. By doing so, even if 50% of blocks are rarely written, the life of SSD is almost fully exploited. ●Assuming total write cycles of SSD For example, supposing there is a 4-gigabyte SSD using 512 KB blocks and 3,000 write cycles per cell available. If writing data of 512 KB or less, we can assume that the total number of write cycles of SSD is as follows: 4,294,967,296 Bytes ÷ 524,288 Bytes = 8,192 (4 GB ÷ 512 KB) 9/39 Number of physical blocks is 8,192. If each of them are rewritten 3,000 times: 8,192 × 3,000 = 24,576,000 times In other words, if writing one-byte data per time, the life will end when writing 18.4MB. (Actually, SSD promotes efficiency of such writes). Furthermore, if assuming that for writes of 512 KB in size, a block segment does not overlap the border of 512 KB, it will be one write, whereas in fact, file access by OS may start writing in the middle of the block, so even if a write of 512 KB or less is written twice with a 50% probability. i.e. 24,576,000 times x 75% = 18,432,000 times (Only 512 KB writes are assumed here). Furthermore, with access from OS, one more write cycle is added. This is due to the fact that updating a file control block in the file closing process will result in at least one rewrite. Of course, SSD further reduces the number of write cycles by, for example, using cache, but basically, this is the mechanism for processing. ●Use an SSD that is as large as possible For example, the above-mentioned 4-gigabyte SSD has 8,192 blocks, but if there is a 8-gigabyte SSD, it has 16,384 blocks, which is twice that of a 4-gigabyte SSD. Simply put, the number of write cycles is twice. If SSDs have the same block size, the number of write cycles will simply increase in proportion to the size. For this reason, by using an SSD as large in size as possible, it will resist against problems caused by an increasing number of writes. ●Reducing the number of writes to SSD by using tmpfs In a Linux system, system development without due consideration will assume that storage can be used as a device that can be used infinitely. Even if no data storage is required, storage domain will be carelessly used as a buffer for operation. To avoid reducing the life of SSD for such a reason, give due consideration to system design 10/39 so that the storage necessary for operation processes are stored in tmpfs as much as possible. In addition, open source software frequently uses a storage domain secured for its use as a temporary storage area. In this case, and as a countermeasure, that file is linked to a domain in tmpfs. ●Log It is general practice with a Linux system to keep a log in storage for everything. However, if there is a process that records logs on a very frequent basis, contrivances such as writing in tmpfs first and then moving logs to SSD periodically are recommended. Though such countermeasures cannot respond to a sudden blackout, due consideration should be given to whether one regards this as a trade-off or to send logs to a system log server equipped with UPS. 2-3 About SIM cards SIM cards that can be mounted onto OpenBlocks IoT Family are in a mini-SIM (2FF) format. If there is a need to use micro-SIM or nano-SIM cards, use an adapter that can fix a SIM card with a fall-preventing film and adhesive tape. Please note that any damage to the SIM slot while a SIM adapter is used will be subject to repair on an at-cost basis. 2-4 eMMC storage partition information Partition information of eMMC used for this product is as follows: ●In the case of OpenBlocks IoT VX2 Number Format Size 1 fat16 1.5 gigabytes 2 ext4 30.5 gigabytes OBS application Device name Boot mmcblk0p1 Primary mmcblk0p2 11/39 2-5 Storage mode Operation is conducted by referring to basic user land data from eMMC. Should an unexpected power interruption occur, there is a risk of damage to files in physical storage, but for Docker and other applications, data in storage are referenced by unionfs, thereby securing normal operation. Damage to files by a sudden power interruption mainly happen to files into which data is being written. For this reason, it is recommended that to reduce any influence on OS, files that are normally written should be limited to log files or such like. *Execution results of mount command root@obsiot:/var/webui/docroot# mount /dev/mmcblk0p2 on / type ext4 (rw,relatime,data=ordered) devtmpfs on /dev type devtmpfs (rw,relatime,size=956312k,nr_inodes=239078,mode=755) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) cgroup on /sys/fs/cgroup/debug type cgroup (rw,nosuid,nodev,noexec,relatime,debug) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=37,pgrp=1,timeout=0,minproto=5,maxproto=5,direct) mqueue on /dev/mqueue type mqueue (rw,relatime) debugfs on /sys/kernel/debug type debugfs (rw,relatime) tmpfs on /tmp type tmpfs (rw,relatime) 12/39 2-6. Connecting PC to OpenBlocks IoT Family The OpenBlocks IoT Family and a PC are connected via an accessory USB cable. The OpenBlocks IoT VX series must be supplied with power via an AC adapter or a wide-range power supply input. In the case of a Windows PC, connection to a USB port will automatically install a USB serial driver (if Windows PC is connected to an Internet environment). After completing installation of driver, it is possible to make serial port connections via terminal software such as TeraTerm and PuTTY. Default communication parameters of serial port on OpenBlocks IoT Family are as follows: Communication speed: 115,200 bps Data length: 8-bit Parity: None Stop bit: 1-bit When the startup process is completed after establishing communication, a login prompt will be displayed. With default root privileges, start the login process. Login: root Password: 0BSI0T *The above password is a default password. If the password has been changed via WEB UI, please use password already set. 13/39 2-7. WEB UI To enable basic system setup, this system is installed with WEB UI. Use WEB UI to set up networks and control mobile networks. In addition, WEB UI enables various functions to be added. Please refer to the WEB UI Set-up Guide for basic use, etc. For functions added, refer to corresponding manuals. 14/39 Chapter 3 Using the OpenBlocks IoT Family The OpenBlocks IoT Family is a general-purpose server product employing Debian GNU/Linux. The OpenBlocks IoT Family can be used in the same way as with a regular Debian product. This Chapter describes information that is particular to the OpenBlock IoT Family. 3-1. Indication colors of status indicators The LEDs at the front of the OpenBlocks IoT Family product illuminate in seven colors with a combination of RGB colors. For each color, flashing, etc. is controlled by script. When WEB UI is employed, the specifications for default LED illuminations are as follows: Status Color Illumination Remarks status After completing startup of the main body Main body and OS in operation Yellow Illuminating and OS, the unit will begin to check for a signal reception in mobile network. *Flashes green if no SIM card is inserted. When the SIM slot is unused Normal operation without a SIM card or in a Green Flashing waiting status before changing over to waiting for signal reception Mobile network signal: Strong White Mobile network signal: Light Medium blue Flashing Flashing Refer to "Details of signal status" Refer to "Details of signal status" Refer to "Details of signal status" Mobile network signal: Weak *Communication at this field intensity may Blue Flashing cause frequent retrials. If a mobile network is being employed, use the unit with a medium field strength or better. Mobile network signal: No signal When function is Purple Flashing Yellow Flashing 15/39 Refer to "Details of signal status" Alternately flashes with status indicator Status Color Illumination Remarks status enabled by FUNC button displaying that mobile network or SIM slot is not used. Terminating OS Yellow Illuminating This indication is shown when an initial Initial trial to access AirManage failed Red Illuminating access to AirManage remote control server has failed. If WEB UI is not being used, the OS will start to terminate in five minutes. OS terminating after access to initial AirManage remote Red Flashing control server has failed. *Details of signal status Modem type Signal: Strong Signal: Medium Signal: Weak Signal: No signal 3G module -87 dBm or -88 to -108 dBm -109 to -112 dBm -113 dBm or lower dBm or -95.1 to -105 dBm -105.1 to -120 dBm -120.1 higher BWA module -95 higher dBm lower LED illumination control script when WEB UI is used /var/webui/bin/set_signal_value.sh /var/webui/scripts/led_updater.sh ●LED control To change indication colors and illumination statuses of LEDs, edit /tmp/.runled file. Please note that when a SIM card is inserted while using WEB UI, it will work with the field strength, regularly updating this file. For this reason, to intentionally change this file, stop using WEB UI or terminate the script to control LED illumination. 16/39 or Line 1st line Setting description Illumination Remarks #1 hours 1 or more #2 hours 1 or more (msec) 2nd line Illumination (msec) 3rd line Illumination #1 color Refer to table below. 4th line Illumination #2 color Refer to table below. (If omitted: 0) Color # Color 0 Not illuminated 1 Red 2 Green Color Color number 3 Yellow 4 Blue 5 Purple 6 Light blue 7 White Out of Not range illuminated *Yellow flash every second # echo -e "1000¥n1000¥n3" > /tmp/.runled *Yellow and green flash alternately every second # echo -e "1000¥n1000¥n3¥n2" > /tmp/.runled 17/39 3-2. Modem control for mobile networks A tool to check the power ON/OFF state of module installed in this unit and radio wave state is provided. Command name: atcmd Startup method 1: atcmd [Command] Startup method 2: atcmd [Command 1] [Command 2] [Command 3] Startup method 3: atcmd -d [Device file] [Command] As shown in Startup method 2, it is possible to list commands and execute them in sequence. As shown in Startup method 3, it is also possible to designate a device file to use and execute it. Command Function PON Turn the modem ON POFF Turn the modem OFF PRST Modem reboot Remarks Software reset (Partial hardware reset) HRST Modem reboot Hardware reset CSQ Obtain radio wave strength CCID Obtain SIM number CTZU 1 Automatically obtain time *With a space zone ATI Obtain modem type number CGSN Obtain modem serial number Commands to be assigned as per the above content. *Turn the modem ON, obtain SIM number, turn the modem OFF # atcmd PON CCID POFF Xxxxxxxxxxxxxx *Turn the modem ON, obtain radio wave strength, turn the modem OFF # atcmd PON CSQ POFF -86 18/39 When constantly obtaining radio wave status, WEB UI will occupy the device file. For this command, designate a device file not used by WEB UI and execute it. In an environment or user control not using WEB UI, this restriction will not apply. Please note that depending on module in use, the device files that can be used by atcmd will differ. ●3G module Device file If atcmd can be used /dev/ttyACM0 Yes /dev/ttyACM1 Yes /dev/ttyACM2 Yes /dev/ttyACM3 No /dev/ttyACM4 No /dev/ttyACM5 No /dev/ttyACM6 No 19/39 3-3. Mobile network connection It can control the mobile line's modem using the Service network (Mobile line) menu in the [Network]-[Basic] tab in WEB UI. The OpenBlocks IoT Family supports a method to make a connection to mobile networks whenever necessary through control by WEB UI (On-demand connections), and a method to make a connection by the user fully excluding control by the modem. 3-3-1. On-demand connections Press the [Network]-[Basic] tab and enter necessary information for mobile network connections. Following information is required: ・APN (This item does not exist for LTE module (KDDI)). ・Username ・Password ・Authentication method ・Automatic connection: Choose "Not automatic connection." ・Host for communication confirmation ・Periodic re-connection settings ・Mobile network reconnection times ・SMS control *Enable this item only when it is used. Press the Save button and reboot the unit to reflect changes to mobile network modem. To connect/disconnect to a mobile network, use the following commands: ●Connection to a mobile network # /var/webui/scripts/mobile_control.sh con 1 ●Disconnection from a mobile network # /var/webui/scripts/mobile_control.sh coff 1 20/39 Below is a sample of a combination of the above commands, meaning: 1. Connect to mobile network. 2. Execute ping command to DNS server. 3. Disconnect from mobile network. #!/bin/bash echo "#------------------------------------------------------------#" echo "# Connect (`date`)" echo "#------------------------------------------------------------#" /var/webui/scripts/mobile_control.sh con 1 sleep 2 echo "" echo "#------------------------------------------------------------#" echo "# Command Exec (`date`)" echo "#------------------------------------------------------------#" ping -c 3 8.8.8.8 echo "" echo "#------------------------------------------------------------#" echo "# Disconnect (`date`)" echo "#------------------------------------------------------------#" /var/webui/scripts/mobile_control.sh coff 1 sleep 2 exit 0 3-3-2. User control of mobile network modem Press the [Network]-[Basic] tab and set up necessary information for mobile network connections. Note that the LTE module does not support this function. 21/39 To implement this item, check "Display the modem control items." The following information is required for settings: ・ Modem control: Choose "User control." ・APN ・Username ・Password ・Authentication method Information set up via WEB UI can be reflected upon modem using the following command: ●Command to reflect modem settings # /var/webui/scripts/setapn.sh Config. files used by command to reflect modem settings are as follows: ●Config. files to reflect modem settings /var/webui/config/ppp0_device.sh /var/webui/upload_dir/modem.sh If further changes have been made to setting information, it is possible to overwrite information by creating and setting the file below: ●File to overwrite information /var/webui/upload_dir/user_modem.sh ●Description of variables Variable Description modem_ppp0_apn APN modem_ppp0_user Username modem_ppp0_pass Password modem_ppp0_authtype Authentication 22/39 Remarks PAP or CHAP Variable Description Remarks method modem_ppp0_provier Provider name To be designated by PON/POFF command DEVICE_CONNECT Device file for mobile Will be /dev/ttyACM[0-9]*. network connections DEVICE_SETTING Device file for mobile Will be /dev/ttyACM[0-9]*. network connections ●Sample settings modem_ppp0_apn="iixxxx.jp" modem_ppp0_user="test@iixxxx" modem_ppp0_pass="xxxx" modem_ppp0_authtype="PAP" modem_ppp0_provier="usermobile" With each of the following commands, can connect to or disconnect from mobile network. ●Command for mobile network connection # pon●Command for mobile network disconnection # poff * is set up by a variable. If not changed by user_modem.sh, it will be "mobile." ●To obtain radio wave strength, etc., use atcmd. Cannot obtain information from a device file connected to the network. ●If default gateway has been set up before connection to a mobile network, it will not be reflected at the time of connection. For this reason, open the default gateway before making connection to mobile network. After disconnecting from mobile network, the default gateway will remain open. For this reason, to separately access an Internet environment, etc. set up the default gateway. 23/39 3-4. Backup When customizing the file syatem etc, It can back up the file system that will be booted as Normal boot mode, to TGZ format file in following. 1. Rebooting the unit # sync # reboot 2. Startup in emergency boot mode For the OpenBlocks IoT VX series, choose "Emergency boot" from the GRUB screen at the time of startup. 24/39 3. Deletion of unnecessary data and backup obsiot login: root Password: root # mount /dev/mmcblk0p2 /mnt *Delete files particular to hardware, etc. below /mnt. BT information is deleted. # rm -rf /mnt/var/lib/bluetooth/* # cd /mnt # tar --exclude=lost+found --exclude= -cpzf . /mnt/ will be a backed up file. Caution: Under the /var/lib/bluetooth/ directory, information particular to hardware is included. It is recommended to delete intermediate files during programming. 3-5. Restoration Using emergency boot mode, It can restore file system using the shell scripts (init.sh and post-init.sh) described in Chapter 3-6 from the TGZ format backup file saved in external storage such as USB memory. For details on how to make backup files, please refer to Chapter 3-4. The external storage is one of ext2 / ext3 / vfat file system, and the volume label of DB_CONFIG needs to be set. Caution: ・ Before decompressing a backed up file, format the /dev/mmcblk0p2 domain (for OpenBlocks IoT VX series). ・Backed up file and kernel-image must be consistent. Separately check the kernel-image of the unit to be restored. 25/39 3-6. Applications In emergency boot mode, in addition to a backup file, it is possible to run a script, etc. by preparing a file with a designated name as a volume label in DEB_CONFIG. This will be effective only if a file actually exists. ・init.sh (sh script; line feed code is LF only) Execution before mounting overlayfs while KERNEL is starting up. ・post-init.sh (sh script; line feed code is LF only) Execution after mounting overlayfs while KERNEL is starting up. *This products employs systemd. For this reason, at the stage when KERNEL is starting up, systemd has not been started up, and soem commands (such as poweroff/reboot) cannot be used. To use such a command, execute commands to be used after starting up daemon and other programs that need to be started up in the background. 26/39 3-7. WEB UI extensions As an extension in the [Extension] tab in WEB UI, the following are available. 3-7-1. Script editing Choose the [Extension] –[Edit Scripts] tab to create and edit the following scripts from WEB UI. ・Startup scripts ・Exit scripts ・User-defined scripts 1-5 ・User-defined scripts (Button) Please note that this function depends on what user has actually installed. # 1 Script type Execution timing Startup scripts Remarks Executed after startup process of WEB UI is completed at the time of starting up the unit. 2 Exit scripts Executed immediately after termination process of WEB UI has started at the time of terminating the unit. 3 User-defined scripts Not executed in normal processes. Executed when instruction is applied using the SMS control function. 4 User-defined (Button) scripts If such scripts are set up using the FUNC function allocation, executed when FUNC switch is pressed. 27/39 3-7-2. Command execution Use the [Extension]-[Command exec.] tab, can execute a command of one line or so. When executing a command, response results will be displayed. Please note that if executing a command that is permanently run in the foreground with this function, will not obtain web response. 3-7-3. SMS command execution This is described in the WEB UI Set-up Guide for the OpenBlocks IoT Family. Please refer to said document. 28/39 3-8 Switching boot modes Can set up boot mode at the next startup using the [Maintenance]-[Boot switch] tab . At the time of normal factory shipment, only one boot mode can be selected. *By rewriting a part /dev/mmcblk0p1/EFI/boot/bootx64.conf can show boot modes here. of file, However, selectable boot modes mean a risk to actual operations, for example, restoring setting to factory condition. For this reason, examine each boot mode to determine if it should be added for display. 3-9. WEB UI extensions This is described in the WEB UI Set-up Guide for the OpenBlocks IoT Family. Please refer to said document. 3-10. Special setting of WEB UI filter table If a /var/webui/local/bin/iptables-ext.sh file is present, the Edit extended filter configuration file item will be displayed in the [System]-[Filter] tab in WEB UI. For this item, customization of filter setting by iptables and ip6tables commands is assumed. Execution timing of iptables-ext.sh is at the time of startup and changing filter settings. 29/39 What is described in this section is a shell script. Edit with iptables command as appropriate. 3-11. Sending SMS messages If the unit uses WEB UI, is equipped with a modem module (other than an LTE module (KDDI)) and is inserted with a SIM card that can send SMS messages, it is possible to send SMS messages from the command line. Use the following command to use create a form of SMS data. *After creating form, message will be automatically sent. # /var/webui/bin/create_sms.py *Example of execution # /var/webui/bin/create_sms.py 09012345678 “TEST MESSAGE” 3-12. Switching operations of LTE module (KDDI) The LTE module (KDDI) has a function to serve as a SIM card. With the commands below, can switch between internal SIM mode to turn the module into a SIM card and external SIM mode to refer to an inserted SIM card. ●Command to switch to internal SIM mode # /var/webui/scripts/kym_set_mode.sh in 30/39 ●Command to switch to external SIM mode # /var/webui/scripts/kym_set_mode.sh out 31/39 3-13. Factory Reset (Reset to condition at time of factory shipment) With the OpenBlocks IoT VX series, if a package has been added to the storage domain or if important data has been deleted and to reset the unit to the condition at the time of factory shipment, choose "Factory Image" in the GRUB menu to do so. Please note that if resetting the unit to the condition at the time of factory shipment, data set up, etc. will be deleted. 32/39 3-14. Recovery startup A file system for recovery is prepared for the case where the file system used for normal startup is damaged and can not be started. With the OpenBlocks IoT VX series, choose "Emergency boot" from the GRUB menu to start up the unit in the RAMdisk mode. Login account and password by the console in this startup mode is "root"/"root". 3-15. Building a cross-development environment A method to create firmware for the OpenBlocks IoT Family is available from the web page below. If building a cross-development environment, refer to this page. https://github.com/plathome/debian_based_firmware 33/39 3-16. Automatic external storage mounting in WEB UI If WEB UI finds storage devices with specific volume labels, they will be automatically mounted. Please use this function to manage storage using WEB UI functions, etc. Volume label WEBUI_STORAGE Mounting destination /var/tmp/storage Supplement Use the NTFS file system. 34/39 3-17. Recommended device files to use With Linux, each device file is assigned with a name in the order of recognition. For this reason, device files may differ depending on the power ON/OFF conditions of devices. As device file links are setup for individual models, to access device files, use the following recommended device files. ●OpenBlocks IoT VX series Recommended device file Subject device /dev/ttyRS485 Device file for RS-485 Device file for extension slot 1 (LoRaWAN, /dev/ttyEX1 etc.) Device file for extension slot 2 (EnOcean, /dev/ttyEX2 etc.) Device file for RS-232C /dev/ttyS4 (For VX1 only) 3-18. Docker Docker can be operated with the OpenBlocks IoT VX series. Docker can be installed by using the function to add extensions in the [Maintenance]-[Enhancements] tab in WEBUI. Can also use the following commands to install Docker. ●How to install Docker (Connection to an Internet environment required). # apt-get update # apt-get ?y install docker-ce At present, there is no function to control Docker containers from WEB UI. To control containers, use a command line. If using Docker after going live, refer to the official Docker site for commands, including container startup and stop. 35/39 Chapter 4 Product specifications 4-1. Open Blocks IoT VX2 main body specifications Model # CPU OBSVX2 Model Intel Atom E3805 Clock speed 1.3 GHz (dual core) Built-in 1024 kB/Core secondary cache Main memory On-board 2 GB (64 bit bus DDR3L) Built-in storage 32 GB (eMMC) Additional storage 1 x MMC slot BT 4.0+2.1 EDR Wireless interface WLAN (IEEE802.11a/b/g/n/ac) *4 MiniSIM for communication (25 mm x 15 mm x SIM interface Wired interface 0.76 mm) card slot USB (HOST) 1 x USB 3.0 (type-A) *2 USB (Console) 1 x Micro USB (type-B) Ethernet 2 x 10Base-T/100BASE-TX/1000BASE-T 1 x half-duplex RS-485 (Applicable electric wire range: AWG28 to AWG22) 91.9 mm (W) x 114.8 mm (D) x 25 mm (H) Measurements (Excluding protrusions) Weight 160 g DC-Jack: 4.75 to 5.25VDC Power supply Power consumption Wide DC: 10 to 48VDC*3 In an idle mode 5.5 W At a high load 9.0 W MTBF 435,613 hours EMC standard VCCI class A Energy Consumption Efficiency based Classification: H on Act Concerning the Rational Use of 0.52 Energy [Unit: W/GTOPS] *1 36/39 Environmental protection Conforms to RoHS Directives Authentication JATE/ TELEC RTC backup time 10 years OS at the time of shipment Debian GNU/Linux *1: Energy Consumption Efficiency is measured power consumption (Measurement method defined by the Act Concerning the Rational Use of Energy) divided by composite theoretical performance, as defined by the Act Concerning the Rational Use of Energy. *2: Supported cable length is less than 3 meters. *3: To use this function, it is necessary to connect an external nose filter (SNR-10-223-T (COSEL) or an equivalent). *4: Access point function of 802.11ac not supported. 4-2. OpenBlocks IoT VX series options 4-2-1. 3G module GSM/GPRS/EDGE: Quad band 850/900/1800/1900 MHz Supported frequencies W-CDMA(UMTS/HSPA+): Five band 800/850/900/1900/2100 MHz Data communication speed Downstream: 7.2 Mbps Upstream: 5.7 Mbps *Theoretical values Control method AT commands Authentication JATE/TELEC Power supply voltage 3.3 to 4.4VDC Power consumption Idle 0.18 W *Average power At a high load 2.6 W *Average power 37/39 Chapter 5 Cautions and supplementary information 5-1. Countermeasures against delays due to script processing When writes to storage are made using init.sh and post-init.sh scripts in emergency boot mode, a next command process may be implemented before writing is complete. For this reason, expressly execute sleep and sync commands. 5-2. List of ports used The OpenBlocks IoT Family with WEB UI uses or may use the following ports: Service type Port # Supplementary information SSH 22 DNS 53 DHCP 67 Port number can be changed NetBIOS 137 When Sama is installed (UDP) NetBIOS 138 When Sama is installed (UDP) NetBIOS 139 When Sama is installed Samba 445 When Sama is installed Modbus 502 When IoT data control is installed WEB UI (HTTP access) 880 Node-RED 1880 Shell in a box (WEB SSH) 4200 WEB UI (HTTPS access) 4430 38/39 When Node-RED is installed (Port # can be changed) OpenBlocks IoT Family Developer Guide Version 3.1.0 (May 31, 2018) Plat'Home Co., Ltd. NIHON BUILDING KUDANBEKKAN, 3F 4-2-3, Kudankita, Chiyoda-ku, TOKYO 102-0073, JAPAN 39/39
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : Yes Author : Plat'Home CO.,LTD. Company : Plat'Home CO.,LTD. Create Date : 2018:07:10 14:10:45+09:00 Modify Date : 2018:07:10 14:10:54+09:00 Source Modified : D:20180604084015 Tagged PDF : Yes XMP Toolkit : Adobe XMP Core 5.6-c015 84.159810, 2016/09/10-02:41:30 Metadata Date : 2018:07:10 14:10:54+09:00 Creator Tool : Word 用 Acrobat PDFMaker 18 Document ID : uuid:bf6bd52d-82d7-4e74-8e7d-e2fbf7756eed Instance ID : uuid:27cf14ea-51fd-43ed-87c9-664da6b0adf9 Subject : 24 Format : application/pdf Title : OpenBlocks_iot_Developer_Guide Creator : Plat'Home CO.,LTD. Producer : Adobe PDF Library 15.0 Page Layout : OneColumn Page Count : 39EXIF Metadata provided by EXIF.tools