October 30, 2020

Embedded Linux implementation on Imote2 Platform Wireless Sensor Networks

Note

  • This is my English translated paper of the original Indonesian paper published at National Conference on Smart-Green Technology in Electrical and Information Systems (CSGTEIS), Bali, 14-15 November 2013.
  • The copyright has been transferred to the Department of Electrical Engineering, Faculty of Engineering, Udayana University, and based on the agreement, the author is allowed to upload this article to blogs and websites on the to provide the link to the copyright owner's publication website, namely https://ojs.unud.ac.id/index.php/prosidingcsgteis2013/article/view/7259. This means that all of these writings are not licensed under creative commons but copyrighted © under Department of Electrical Engineering, Faculty of Engineering, Udayana University where other people must ask for permission from us for reposting.
  • Authors: Fajar Purnama, I Made Oka Widyantara, dan Nyoman Putra Sastra.

Abstract

Previously, wireless sensor network (WSN) Imote2 used the Intel Platform X, SOS, and TinyOS operating systems. Now Platform X and SOS are no longer being developed, so many researchers are using TinyOS. End users of TinyOS on the Imote2 platform encounter many limitations such as implementing complex routing. Therefore the Embedded Linux community develops embedded Linux for the Imote2 platform. This paper discusses in detail the steps to embed Linux on the target, namely the Imote2 platform WSN radio sensorboard device. Host is a Linux operating system. The developer includes 3 main components, namely the bootloader, Linux kernel, and filesystem. Embedding is done by flashing the JTAG interface using the OpenOCD software. After embedding, configuration is done on the target via serial connection. Configuration includes automatically enabling IP address, SSHD, and radio. Finally compared to the target performance using IEEE 802.11 WLAN and IEEE 802.15.4 ZigBee as transmission media. The result is that the use of IEEE 802.11 WLAN is more wasteful of memory and electricity.

Keywords: Wireless Sensor Network, Imote2, Embedded Linux, ZigBee, WLAN, JTAG, OpenOCD.

Introduction

Overall this paper consists of 4 parts. The first part of "Introduction" provides a brief overview of wireless sensor networks (WSN), some of the research that has been done in the field of WSN, and what will be discussed in this paper. The second part "Intel Mote 2 (Imote2)" describes WSN devices with the Imote2 platform. In this section you can see the physical form of the tool and mention some of the operating systems that are implemented on this platform. In the third part "Embedded Linux Implementation", the steps for installing the Linux operating system on the Imote2 platform are written. The last part is "Conclusion".

WSN or better known as a wireless sensor network (WSN) is a sensor device that communicates wirelessly to each other. These devices are placed over large geographic areas and form a network of sensors. This WSN does not have to be connected to the Internet. The main task of this sensor is to collect information from the surrounding environment, after which it sends the information to the user's device via the sensor network. This tool has been applied in the fields of civil, medical, and many other fields [1].

The existence of WSN is based on many limitations, such as limited power and limited wireless channel capabilities. Therefore, these wireless sensors form a network called WSN. Apart from being necessary to strategically place sensors (overcoming coverage holes), efforts are also needed to save energy and time in providing continuous information because the resources on WSN are limited [2]. An overview of the JSN can be seen in Figure 1.

WSN illustration
Figure 1 WSN illustration [3]

In WSN there have been several previous studies such as research [4] which uses multiple WSN cameras to capture the same image. The device is placed in a different position but aimed at the same object. Combining images captured at different angles can improve image quality. At the end of the study, a form of WSN that works on this concept was proposed. The research [5] led to the modeling of low power consumption WSN cameras by determining image quality. This research concludes several points that need to be considered in the WSN camera modeling, namely (i) camera selection method (ii) image compression method and strategy (iii) image transmission method. But this paper will not discuss WSN in that scope.

Unlike [4] and [5] this research is about embedded Linux in WSN, as has been done by Researcher [6], [7], and [11]. At [6] and [7], the performance of the Imote2 platform on their respective wireless sensor networks uses IEEE 802.15.4 Zigbee and IEEE 802.11 WLAN networks. While the embedded linux implementation model on WSN, these two studies use the same scheme, namely (i) connecting a multimedia WSN device to a computer (ii) installing a bootloader, Linux kernel and filesystem (iii) managing the internet protocol (IP) network and the secure shell daemon (SSHD) (iv) activate radio (v) measure memory consumption and power consumption.

After this is done, we can add some features, such as capturing images with the IMB400 camera sensor board which is visible at [8] and [9]. However, this paper does not go that far, but discusses embedded Linux on the Imote2 platform radio sensorboard in detail.

Intel Mote 2 (Imote2)

Imote2 is a platform on the WSN device developed by Intel Research in the platform X research section. This device is built with low power consumption, with a PXA271 XScale CPU processor, and is integrated in IEEE 802.15.4 ZigBee [10]. This processor (Intel Xscale processor PXA271) can operate at low voltages (0.85V) and frequencies of 13MHz to 104MHz. The frequency can be increased up to 416MHz by setting the voltage [11]. In general, Imote2 consists of 4 parts as shown in Figure 2.

radio processor board (IPR2400), interface board, sensor board (IMB400), dan power supply board (IBB2400)
Figure 2 radio processor board (IPR2400) [11], interface board [11], sensor board (IMB400) [8], and power supply board (IBB2400) [12].

The PXA271 consists of 3 chips (i) the processor itself (ii) 32MB SDRAM (iii) 32MB flash. The radio used is the TI CC2420 which is based on IEEE 802.15.4 ZigBee, where devices with this standard at the PHY and MAC layers operate at low power and short-range radio, targeted for control and monitoring applications. The CC2420 also supports a 250kbps data rate with 16 channels on the 2.4GHz frequency [11].

Previously Imote2 worked on Intel Platform X. After Imote2 moved to Crossbow, Intel Platform X was no longer being developed because Crossbow released its own operating system. Operating systems mostly developed by communities such as SOS. However, SOS stopped being developed in 2008. Currently, what is still visible is TinyOS and Linux [11].

Prior to Embedded Linux, the operating system used on Imote2 was TinyOS. Most publications on the web use TinyOS such as [10], [13], and [14]. Embedded Linux is now being developed because it finds limitations on TinyOS such as complex-routing in a WSN topology. The Embedded Linux community sees the Imote2 Embedded Linux operating system as a solution to overcome these limitations. However Embedded Linux in Imote2 is still new and under development [8].

Embedded Linux Implementation

The device used is the same as the ones used in [6-9] and [13-15], the Imote2 platform multimedia sensorboard radio has (i) 256KB SRAM memory (ii) 32MB flash (iii) 32MB SDRAM (iv) integrated radio with 802.15.4 (v) optional radio from SDIO and UART (vi) 2.4GHz antenna (vii) basic and advanced connectors such as 3xUART , I2C, 2xSPI, SDIO, I2S, AC97 audio, USB host, I/F camera, mini USB GPIO. The architecture of the device can be seen in Figure 3.

Imote2 sensorboard architecture, and Imote2 sensorboard
Figure 3 the Imote2 sensorboard architecture [4], and the Imote2 sensorboard [5]

This section will discuss in more detail the technical details of embedding Linux on the target, namely the Imote2 platform multimedia radio sensorboard with the main source [11]. Host is Linux OS. Linux distributions can be used anywhere, but the commands in this paper are based on Ubuntu or Debian. In brief, the stages can be seen in Fig. 4.

flowchart briefly about embedding Linux on Imote2
Figure 4 flowchart briefly about embedding Linux on Imote2

The [6] and [7] research mainly prepares a cross compiler and chip debugger. Commands are entered based on [13]. But not using TinyOS here. The cross compiler used is a compiled cross compiler, namely GCC and GLIBC from http://sourceforge.net/projects/imote2-linux/files/imote2-tools-linux. It is still better to compile your own cross compiler to better suit your device requirements.

If the compressed file is in the form of a gunzip tape archive it can be extracted with the following command:

tar xzvf /file-location/file-name.tar.gz

If it is in the form of a bunzip2 tape archive it can be extracted with the following command:

tar xjvf /file-location/file-name.tar.bz2

If the directory is not given full access, then the read, write, and execute conditions need to be given the binary number "1". If it gives full access then rwx (read write execute) is "111(2)" which is "7(10)". Then the command:

chmod –R 777 /lokasi-directory/namadirectory

The first "7" is to give rwx access to the administrator, the second to the user, and the third to the group, while the "-R" is to apply to all contents in that directory. The use of this cross compiler will be discussed at the same time when forming the Linux kernel. In this paper the steps are as follows (it is a directory with a downloaded cross compiler):

tar xzvf linux-gcc-4.1.2-arm-xscale-linux-gnu-glibc-2.3.3.tgz 
chmod –R 777 arm-xscale-linux-gnu 

Before starting we recommend downloading the necessary dependencies:

apt-get install libncurses5-dev libusb-dev libftdi1 libftdi-dev ldconfig mtd-tools ssh

Furthermore, the Linux kernel is used from http://www.kernel.org/pub/linux/kernel version 2.6.29.1 rc 1.1 or can be obtained from "git" which is available by the community. If necessary, extract and modify the Linux kernel permissions. After that, go to the directory and set up the cross compiler. Especially for Kernel compiling, in a file called "Makefile" there are lines "ARCH =" and "CROSS_COMPILE =" which need to be declared (still empty). To declare universally see the following command:

cd /Linux-kernel-directory-location 
export ARCH=arm 
export CROSS_COMPILE=/cross-compiler-directory-location/bin-location/cross-compiler-name 

In this paper, the commands are as follows (Linux kernel and cross compiler in one directory):

tar xzvf linux-2.6.29.1.tar.gz  
chmod –R 777 linux-2.6.29.1 
cd linux-2.6.29.1 
export ARCH=arm 
export CROSS_COMPILE= ../arm-xscale-linux-gnu/bin/arm-xscale-linux-gnu- 

With this command, the platform is determined to be "arm" (a platform for small devices) and use the cross compiler "arm-xscale-linux-gnu", the directory "arm-xscale-linux-gnu/bin" contains the file "arm-xscale-linux-gnu-gcc”, “arm-xscale-linux-gnu-g++”, and others. To manage what is compiled, see the “Makefile” file. To make it easier to use make menuconfig. Then it requires "libncurses5-dev". Then it is necessary to copy the file "imote2-linux_defconfig" to the /root directory to be the name ".config".

cp /Linux-kernel-directory-location/imote2-linux_defconfig-file-location/imote2-linux_defconfig /root/.config 

In this paper the command (still in the Linux kernel directory):

cp arch/arm/configs/imote2-linux_defconfig /root/.config

To compile a kernel:

make menuconfig

Here you can set whatever you want to install.

make image-type

The image type is usually zImage or bzImage. In this paper:

make zImage

Next create the module:

make module 
make INSTALL_MOD_PATH=$PWD/modules modules_install 

This command will install the module in a directory named "modules".

When finished compiling Linux kernel is compile filesystem. The source of the filesystem used is from http://sourceforge.net/projects/imote2-linux/files/imote2-rootfs. You also need the mkfs.jffs2 tool found in mtd-tools. JFFS2 (Journaled Flash File System 2) is a file system designed to flash device files on embedded systems. After extracting the file system directory, the modules compiled in the Linux-kernel are copied into this directory.

To create a 16MB filesystem:

mkfs.jffs2 --squash-uid -r ./linux-rootfs -o rootfs.jffs2 -e 0x20000 --pad=0x01000000

To create a 32MB filesystem:

mkfs.jffs2 --squash-uid -r ./linux-rootfs -o rootfs.jffs2 -e 0x20000 --pad=0x01DC0000

The last material needed after the Linux kernel and filesystem is the bootloader. In this paper, the bootloader used is available at http://sourceforge.net/projects/imote2-linux/files/blob-im2.

When the material is available, the next process is to embed it on the Imote2 platform radio sensorboard. As in the research [6] and [7] steps for flashing, in this paper the flashing steps are based on the tutorial [14] provided that they do not follow any of the steps using TinyOS. For flashing it is necessary to install the FTDI JTAG interface driver. The packages required on the host are libusb-dev, libftdi1, libftdi-dev, and ldconfig. The OpenOCD used is available at http://downloads.sourceforge.net/project/openocd. The steps for installing OpenOCD are as follows (in the extracted OpenOCD directory):

./configure --enable-ft2232_libftdi 
make 
make install 
chmod –R 777 /installed-openocd-locations 
openocd -f /configuration-file-location -f /configurationintelmote-file-location 

In this paper the steps are as follows:

tar xjvf openocd-0.4.0-rc1.tar.bz2 
cd openocd-0.4.0-rc1 
./configure --enable-ft2232_libftdi 
make 
make install 
chmod –R 777 /usr/local/bin/openocd 
Connect the USB cable as shown 4.(b). Command to connect target to host:
openocd -f /location/file/configuration –f /location/file/configuration-intelmote

In this paper, embed the bootloader, Linux kernel, and filesystem as follow (in the directory containing the bootloader file, Linux kernel directory, and filesystem directory):

openocd –f /usr/local/share/openocd/scripts/interface/ jtagkey.cfg –f board/crossbow_tech_IMote2.cfg 
telnet localhost 4444 
reset halt 
flash protect 0 0 258 off 
flash erase_sector 0 0 258 
flash write_image blob-im2 0x0 bin 
flash write_image linux-2.6.29.1/arch/arm/boot/zImage /zImage  
0x00040000 bin 
flash write_image rootfs.jffs2 0x00240000 bin 

Command "reset halt" is so that the target is halted, command "flash protect 0 0 258 off" is to remove protect, command "flash erase_sector 0 0 258" is to erase the contents of the sector (delete contents), and command "flash write source destination" is to fill the target from the host.

If all the steps have been implemented then Linux has been successfully embeded. Lastly is the configuration on the target via serial connection, such as [6], [7], and [15]. Before continuing, connect the USB cable as Figure 5.

How to connect the USB cable Imote2
Figure 5 How to connect the USB cable

The serial terminal application on the host can be used with PuTTY, GTKterm, and many other applications. For serial connection from host to target, the following settings are required:

  • Connection type : serial
  • /dev/ttyUSB1 (atau 0)
  • Speed 115200
  • Data bit: 8
  • Stop bit: 1
  • Parity: none
  • Flow control: XON/OFF

The IP address used is 192.168.99.101/24. To enable IP address and SSHD automatically, and change IP address, the steps are as follows:

ln -s /etc/init.d/networking /etc/rc2.d/S10networking 
ln -s /etc/init.d/sshd /etc/rc2.d/S11sshd 
ln -s /etc/init.d/networking /etc/rc5.d/S10networking 
ln -s /etc/init.d/sshd /etc/rc5.d/S11sshd 
vi /etc/init.d/networking (ganti IP address) 
vi /etc/network/interfaces (ganti IP address) 

Next, make a script so that the radio starts automatically. The script is stored in the "/root/tosmac" directory with the name loaddriver, and the contents of the loaddriver are as follows:

#!/bin/sh 
insmod /lib/modules/2.6.29.1_r1.1/kernel/arch/arm/mach-pxa/ssp.ko 
insmod /lib/modules/2.6.29.1_r1.1/kernel/drivers/tosmac/tos_mac.lo 
mknod /dev/tosmac c 240 0 

So to activate the radio and be able to send data automatically the steps are as follows:

ln –s /root/tosmac/loaddriver /etc/rc2.d/S12loaddriver 
ln –s /root/tosmac/loaddriver /etc/rc5.d/S12loaddriver 
ln –s /root/tosmac/CntToLeds /etc/rc2.d/S14Transmitter (automatic data sender) 
ln –s /root/tosmac/CntToLeds /etc/rc5.d/S14Transmitter (automatic data sender) 

The embed and configuration stage is complete.

In contrast to the research [6] which uses IEEE 802.15.4 ZigBee radio transmission, research [7] uses IEEE 802.11 WLAN radio transmissions. At [7] a daughter board is created which will be connected to the TP-LINK USB WLAN as shown in Figure 6.

Daughter board skema Daughter board alat wlan
Figure 6 Daughter board [7] (a) schema (b) tools

First, you need to activate USB host support by adding the following script in the linux-2.6.29.1/arch/arm/mach-pxa/imote2.c file. The script is as follows [7]:

//baris pertama
#include   

//isi 

/*  
* Configure USB Host (OHCI)  
* For Imote2 the following configuration is used:  
* USB Port 1 is used as USB Host  
* USB Port 2 is used as USB Gadget (as default for Imote2)  
*/  

static int imote2_ohci_init(struct device *dev) {  
return 0;  
}  

static struct pxaohci_platform_data imote2_ohci_platform_data = {  
.port_mode = PMM_NPS_MODE,  
.init = imote2_ohci_init,  
.flags = ENABLE_PORT1 | NO_OC_PROTECTION,  
.port_mode = PMM_PERPORT_MODE,  
.power_budget = 150, //300  
};
//baris terakhir 

pxa_set_ohci_info(&imote2_ohci_platform_data);

In "make menuconfig" it is configured as follows [7]:

1. Configure the USB-Host module. 
Device Drivers >USB support >Support for Host-side USB <*>  
  >USB device filesystem [*]  
  >USB device class-device (DEPRECATED)[*]  
  >USB Monitor<*>  
  >OHCI HCD support<*>
 
2. Configure the 802.11 Wireless LAN module. 
Networking support >wireless >Improved wireless configuration API (M)  
  >nl80211 new netlink interface support [*]  
  >Wireless extensions sysfs files [*]  
  >Common routines for IEEE802.11 drivers (M)  
  >Generic IEEE 802.11 Networking (M)  
  >Enable LED triggers [*] 
  Device Drivers >Network device Support >Wireless LAN 
    >Wireless LAN (IEEE 802.11) [*] 

3. TP-Link WN-321G (rt73) driver module configuration. 
Device Drivers >Network Device Support>Wireless LAN  
  >Ralink driver support [M]  
  >Ralink rt2501/rt73 (usb0 support) [M]  
  >Ralink debug output [*] 

Then repeat the steps from compiling the Linux kernel and filesystem to flashing and configuration. In the research [7] using TL-WN321G (TP-LINK), the Linux driver version can be downloaded on the official site. The installation steps are as follows:

tar xvf TpLink_TL_WN321G_in_Linux.tar  
cd TpLink_TL_WN321G_in_Linux/Module/  
gedit Makefile  
  1. Add lines “PLATFORM=EMBEDDED”.
  2. Omitting lines “PLATFORM=PC” and “PLATFORM=CMPC”.
  3. Manages links from compiled kernel sources.
ifeq ($(PLATFORM),EMBEDDED)  
LINUX_SRC=../linux-2.6.29.1  
endif  

#export ARCH=arm  
#export CROSS_COMPILE=../arm-xscale-linux-gnu/bin/arm-xscale-linux-gnu- 
#make all   

The compilation process will produce a file called "rt73.ko" which will be used as a module for the Wireless Lan 802.11 driver. Then copy the data to the target with the following command:

scp rt73.ko root@192.168.99.101:/root rt73.ko

Furthermore, the target script is created so that the radio is activated automatically based on the steps from [7].

ssh –l root 192.168.99.101 
vi /etc/rc2.d/S50StartupScript 

The script is like this:

#********************************************************* 
#********S50StartupScipt File***************************** 
#********This file configures Wlan on Imote2************** 

#install driver 
cd /root/ 
insmod rt73.ko 
echo -n 1 > /sys/bus/usb/devices/1-1/bConfigurationValue 

#Configure Wlan 
sleep 10 
ifconfig rausb0 up 
iwconfig rausb0 essid imote2 
iwconfig rausb0 mode ad-hoc 
ip link set rausb0 up 
ifconfig rausb0 inet 192.168.1.2 
ifconfig rausb0 netmask 255.255.255.0 
ifconfig rausb0 gateway 192.168.1.1 
#********EOF S50StartupScript File************************* 
chmod 777 S50StartupScript 

The configuration stage when using IEEE 802.11 WLAN has been completed. When compared to the two studies, [7] is more wasteful on both memory consumption and electricity consumption than [6]. In the study [7] the memory consumed was 16.9MB from 29.8MB, while at [6] only consumed 13.6MB from 29.8MB. Electric power consumption can be seen in Figure 7.

electricity consumption wlan vs zigbee
Figure 7 The power consumption of the target device [6], and devices [7]

Conclusion

From this paper, the following conclusions can be drawn:

  1. The Linux kernel is cross-compiled to the Imote2 platform first. The next process builds the filesystem and prepares the bootloader.
  2. To embed the bootloader, Linux kernel, and filesystem on the target via the JTAG interface using OpenOCD software, the process is called flashing.
  3. Target configuration includes automatic activation of IP addresses, SSHDs, and radios via serial connection, by linking to configuration scripts in RC level 2 and level 5.
  4. From research [6] and [7] use transmission media with the IEEE 802.11 WLAN standard on the Imote2 platform it is more wasteful of memory and power than using transmission media with the IEEE 802.15.4 ZigBee standard.

Reference

  1. H. Y. Shwe, C. Wang, P. H. J. Chong, A. Kumar. "Robust Cubic-Based 3-D Localization for Wireless Sensor Networks," wireless sensor network, vol. 5, no. 9, hal. 169-179, September 2013. [online]. Tersedia: www.scirp.org. [access on: 12 Oktober 2013]
  2. http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/WSN.svg/537px-WSN.svg.png. [access on: 14 Oktober 2013]
  3. N. P. Sastra. “Wireless Sensor Network,” 18 Desember 2009. [Entri Blog]. Blog Wireless Sensor Network Nyoman Putra Sastra. Tersedia: http://staff.unud.ac.id/~putra/2009/12/18/wireless-sensor-network.html. [access on: 14 Oktober 2013].
  4. N. P. Sastra, Wirawan, G. Hendrantoro, “Virtual View Image over Wireless Visual Sensor Network,” Telkomnika, vol.9, no.3, hal. 489-496, Desember 2013. [online]. Tersedia: http://journal.uad.ac.id/index.php/TELKOMNIKA/article/view/1286/677. [access on: 14 Oktober 2013].
  5. N. P. Sastra, D. M. Wiharta, I. M. O. Widyantara, Wirawan. “Modeling Wireless Visual Sensor Network with a Low Energy Consumption for Desired Image Quality and View Point,” academia.edu shared research [online]. Tersedia: http://www.academia.edu/831948/Modeling_Wireless_Visual_Sensor_Network_with_a_Low_Energy_Consumption_for_Desired_Image_Quality_and_View_Point. [access on: 14 Oktober 2013].
  6. I. M. Wiasta, "Performasi Platform Imote2 pada Jaringan Sensor Nirkabel," Laporan Tugas Akhir, Jurusan Teknik Elektro., Universitas Udayana, 2012.
  7. F. S. Natha, "Performasi Platform Imote2 Menggunakan Standar 802.11 pada Jaringan Sensor Nirkabel," Laporan Tugas Akhir, Jurusan Teknik Elektro., Universitas Udayana, 2012.
  8. N. P. Sastra, Wirawan, G. Hendrantoro, “Design and Implementation of Wireless Multimedia Sensor Network Nodes Based on Linux OS,” academia.edu shared research [online]. Tersedia: http://www.academia.edu/454554/Design_and_Implementation_of_Wireless_Multimedia_Sensor_Network_Nodes_Based_on_Linux_OS. [access on: 14 Oktober 2013].
  9. N. P. Sastra. “Test Capture Image pada Intelmote 2 aka My First IMB400 Image,” 18 April 2010. [Entri Blog]. Blog Wireless Sensor Network Nyoman Putra Sastra. Tersedia: http://staff.unud.ac.id/~putra/2010/04/18/test-capture-image-pada-intelmote-2-aka-my-first-imb400-image.html. [access on: 18 September 2013].
  10. Stanford, “Imote2,” stanford.edu [online]. Tersedia: http://tinyos.stanford.edu/tinyos-wiki/index.php/Imote2 [Terakhir dimodifikasi: 15 Mei 2013, 14:07].
  11. Jorg Kasteleiner, “Principles of applying Embedded Linux on Imote2,” Diploma Thesis, Faculty of Computer Science and Engineering., University of Applied Sciences Frankfurt am Main, 2010.
  12. WSN_Imote2_HW_Bundle_Datasheet,” Crossbow Technology Inc, San Jose, California.
  13. N. P. Sastra. “Langkah-Langkah Instalasi TinyOS 2.1.0 Intel mote 2 pada Ubuntu 8.04/9.04/9.10,” 18 Desember 2009. [Entri Blog]. Blog Wireless Sensor Network Nyoman Putra Sastra. Tersedia: http://staff.unud.ac.id/~putra/2009/12/18/langkah-langkah-instalasi-tinyos-untuk-intel-mote2.html. [access on: 18 September 2013].
  14. N. P. Sastra. “Flashing Program pada Intelmote2,” 17 April 2010. [Entri Blog]. Blog Wireless Sensor Network Nyoman Putra Sastra. Tersedia: http://staff.unud.ac.id/~putra/2010/04/17/flashing-program-pada-intelmote2.html. [access on: 18 September 2013].
  15. N. P. Sastra. “Tutorial Instalasi Linux embedded system pada intel mote2 (imote2) board,” 16 Juni 2010. [Entri Blog]. Blog Wireless Sensor Network Nyoman Putra Sastra. Tersedia: http://staff.unud.ac.id/~putra/2010/06/16/tutorial-instalasi-linux-embedded-system-pada-intel-mote2-imote2-board.html. [access on: 18 September 2013].

Mirror

Implementasi Embedded Linux pada Jaringan Sensor Nirkabel Platform Imote2

Catatan

  • Tulisan ini terpublikasi di National Conference on Smart-Green Technology in Electrical and Information Systems (CSGTEIS), Bali, 14-15 November 2013.
  • Hak cipta telah ditransfer ke Jurusan Teknik Elektro, Fakultas Teknik, Universitas Udayana, dan berdasarkan kesepakatannya, penulis diperbolehkan untuk mengunggah tulisan ini ke blog dan website dengan syarat menyediakan tautan ke website publikasi pemilik hak cipta yaitu https://ojs.unud.ac.id/index.php/prosidingcsgteis2013/article/view/7259. Artinya, semua tulisan ini tidak terbuka untuk disalin ulang namun terhak cipta © Jurusan Teknik Elektro, Fakultas Teknik, Universitas Udayana dimana penyalin harus meminta izin kepada kami.
  • Penulis: Fajar Purnama, I Made Oka Widyantara, dan Nyoman Putra Sastra.

Abstrak

Sebelumnya JSN menggunakan sistem operasi Intel Platform X, SOS, dan TinyOS. Kini Platform X dan SOS tidak dikembangkan lagi, sehingga banyak peneliti menggunakan TinyOS. Pada akhir pengguna TinyOS pada platform Imote2 menemukan banyak keterbatasan seperti penerapan pada routing yang complex. Oleh karena itu komunitas Embedded Linux pengembangkan embedded Linux untuk platform Imote2. Pada makalah ini dibahas secara rinci tahap untuk mengembed Linux pada target yaitu perangkat JSN radio sensorboard platform Imote2. Host merupakan Linux operating system. Pengembedan meliputi 3 komponen utama yaitu bootloader, Linux kernel, dan filesystem. Embed dilakukan dengan proses flashing pada JTAG interface menggunakan software OpenOCD. Setelah proses embed, konfigurasi pada target melalui koneksi serial. Konfigurasi meliputi pengaktifkan alamat IP, SSHD, dan radio secara otomatis. Terakhir dibandingkan performansi target yang menggunakan IEEE 802.11 WLAN dan IEEE 802.15.4 ZigBee sebagai media transmisi. Hasilnya penggunaan IEEE 802.11 WLAN lebih boros terhadap memory dan daya listrik.

Kata Kunci: JSN, Imote2, Embedded Linux, ZigBee, WLAN, JTAG, OpenOCD.

Pendahuluan

Secara keseluruhan makalah ini terdiri dari 4 bagian. Bagian pertama “Pendahuluan” menjelaskan sekilas mengenai jaringan sensor nirkabel (JSN), beberapa penelitian yang telah dilakukan pada bidang JSN, dan hal yang akan dibahas pada makalah. Bagian kedua “Intel Mote 2 (Imote2)” menjelaskan perangkat JSN dengan platform Imote2. Pada bagian ini dapat dilihat bentuk fisik dari alat dan disebutkan beberapa sistem operasi yang diterapkan pada platform ini. Pada bagian ketiga “Implementasi Embedded Linux” dituliskan langkah-langkah untuk instalasi sistem operasi Linux pada platform Imote2. Bagian terakhir adalah “Simpulan”.

JSN atau lebih dikenal dengan wireless sensor network (WSN) merupakan perangkat sensor yang saling terkomunikasi secara nirkabel. Perangkat-perangkat ini di letakkan pada daerah yang luas secara geografis dan membentuk jaringan sensor. JSN ini tidak harus terhubung dengan Internet. Tugas utama dari sensor ini sensor ini adalah mengumpulkan informasi dari lingkungan sekitar, setelah itu mengirimkan informasi tersebut ke perangkat pengguna melalui jaringan sensor. Perangkat ini telah diterapkan di bidang sipil, medis, dan lain-lain [1].

Adanya JSN berdasarkan adanya banyak keterbatasan, seperti keterbatasan daya dan keterbatasan kemampuan kanal nirkabel. Oleh karena itu sensor nirkabel tersebut membentuk suatu jaringan disebut JSN. Selain diperlukan penempatan sensor secara strategis (menanggulangi coverage hole) diperlukan juga upaya untuk menghemat energi dan waktu dalam memberian informasi secara kontinyu karena sumber daya pada JSN terbatas [2]. Gambaran JSN dapat dilihat pada Gambar 1.

Gambaran JSN
Gambar 1 Gambaran JSN [3]

Pada JSN telah terdapat beberapa penelitian sebelumnya seperti penelitian [4] yang menggunakan banyak perangkat JSN camera untuk menangkap citra yang sama. Perangkat tersebut ditaruh pada posisi yang berbeda namun mengarah pada obyek yang sama. Dengan menggabungkan citra yang ditangkap pada sudut yang berbeda dapat meningkatkan kualitas citra. Pada akhir penelitian diusulkan suatu bentuk JSN yang bekerja pada konsep ini. Penelitian [5] mengarah pada pemodelan JSN camera dengan konsumsi daya rendah dengan menetapkan kualitas citra. Pada penelitian tersebut menyimpulkan beberapa point yang perlu diperhatikan pada pemodelan JSN camera, yaitu (i) metode pemilihan kamera (ii) metode dan strategi kompresi citra (iii) metode transmisi citra. Tetapi pada makalah ini tidak akan membahas JSN pada ruang lingkup tersebut.

Tidak seperti pada [4] dan [5] penelitian ini tentang embedded Linux pada JSN, seperti yang telah dilakukan oleh Peneliti [6], [7], dan [11]. Pada [6] dan [7], performansi platform Imote2 pada jaringan sensor nirkabel masing-masing menggunakan jaringan IEEE 802,15.4 Zigbee dan IEEE 802.11 WLAN. Sedangkan model implementasi embedded linux pada JSN, kedua penelitian ini menggunakan skema yang sama yaitu (i) menghubungkan perangkat JSN multimedia ke komputer (ii) instalasi bootloader, Linux kernel dan filesystem (iii) mengatur jaringan internet protocol (IP) dan secure shell daemon (SSHD) (iv) mengaktifkan radio (v) mengukur konsumsi memory dan daya listrik.

Setelah hal tersebut dilakukan baru kita dapat menambahkan beberapa fitur, seperti menangkap citra dengan camera sensor board IMB400 yang terlihat pada [8] dan [9]. Namun pada makalah ini tidak membahas sejauh itu, tetapi membahas mengenai embedded Linux pada radio sensorboard platform Imote2 dengan rinci.

Intel Mote 2 (Imote2)

Imote2 merupakan platform pada perangkat JSN yang dikembangkan oleh Intel Research pada bagian penelitian Platform X. Perangkat ini dibangun dengan konsumsi daya listrik yang rendah, dengan processor PXA271 XScale CPU, dan terintegrasi pada IEEE 802.15.4 ZigBee [10]. Processor ini (Intel Xscale processor PXA271) dapat beroperasi pada tegangan rendah (0.85V) dan frekuensi 13MHz hingga 104MHz. Frekuensi dapat dinaikkan hingga 416MHz dengan mengatur tegangan [11]. Secara umum Imote2 terdiri dari 4 bagian seperti terlihat pada Gambar 2.

radio processor board (IPR2400), interface board, sensor board (IMB400), dan power supply board (IBB2400)
Gambar 2 radio processor board (IPR2400) [11], interface board [11], sensor board (IMB400) [8], dan power supply board (IBB2400) [12].

PXA271 terdiri dari 3 chip (i) processornya sendiri (ii) 32MB SDRAM (iii) 32MB flash. Radio yang digunakan adalah TI CC2420 yang berdasarkan IEEE 802.15.4 ZigBee, dimana perangkat dengan standar ini pada PHY dan MAC layer beroperasi pada daya rendah dan radio jarak pendek, disasarkan pada control dan monitoring applications. CC2420 ini juga mendukung data rate 250kbps dengan 16 channel pada frekuensi 2.4GHz [11].

Sebelumnya Imote2 bekerja pada Intel Platform X. Setelah Imote2 pindah ke Crossbow, Intel Platform X tidak lagi dikembangkan karena Crossbow mengeluarkan sistem operasinya sendiri. Sistem operasi yang kebanyakan dikembangkan oleh komunitas seperti SOS. Namun SOS berhenti dikembangkan pada tahun 2008. Sekarang ini yang masih terlihat adalah TinyOS dan Linux [11].

Sebelum adanya Embedded Linux, sistem operasi yang digunakan pada Imote2 adalah TinyOS. Kebanyakan publikasi di web menggunakan TinyOS seperti pada [10], [13], dan [14]. Sekarang dikembangkan Embedded Linux karena ditemukan batasan-batasan pada TinyOS seperti complex-routing pada suatu topologi JSN. Komunitas Embedded Linux melihat sistem operasi Embedded Linux pada Imote2 dapat mengatasi keterbatasan tersebut. Namun Embedded Linux pada Imote2 masih bersifat baru dan sedang dikembangkan [8].

Implementasi Embedded Linux

Perangkat yang digunakan sama seperti yang digunakan pada [6-9] dan [13-15], merupakan radio sensorboard multimedia platform Imote2. Memiliki (i) 256KB SRAM memory (ii) 32MB flash (iii) 32MB SDRAM (iv) radio terintegrasi dengan 802.15.4 (v) radio optional dari SDIO dan UART (vi) 2.4GHz antena (vii) basic dan advanced connectors seperti 3xUART, I2C, 2xSPI, SDIO, I2S, AC97 audio, USB host, I/F camera, mini USB GPIO. Arsitektur perangkat tersebut dapat dilihat pada Gambar 3.

arsitektur sensorboard Imote2, dan sensorboard Imote2
Gambar 3 arsitektur sensorboard Imote2 [4], dan sensorboard Imote2 [5]

Pada bagian ini akan dibahas lebih rinci teknis mengembed Linux pada target yaitu radio sensorboard multimedia platform Imote2 dengan sumber utama [11]. Host adalah Linux OS. Distro Linux dapat digunakan yang mana saja, namun perintah-perintah pada makalah ini berbasis Ubuntu atau Debian. Secara ringkas tahapanya dapat dilihat pada Gambar. 4.

flowchart secara ringkas embed Linux pada Imote2
Gambar 4 flowchart secara ringkas embed Linux pada Imote2

Penelitian [6] dan [7] terutama menyiapkan cross compiler dan chip debugger. Perintah-perintah yang dimasukkan berdasarkan [13]. Tetapi disini tidak memakai TinyOS. Cross compiler yang digunakan berupa cross compiler yang telah dicompile yaitu GCC dan GLIBC dari http://sourceforge.net/projects/imote2-linux/files/imote2-tools-linux. Tetap lebih baik bila mengcompile cross compiler sendiri agar lebih sesuai dengan kebutuhan perankgat.

Bila file terkomproesi dalam bentuk tape archive gunzip maka dapat diextract dengan perintah berikut:

tar xzvf /lokasi-file/nama-file.tar.gz

Bila dalam bentuk tape archive bunzip2 maka dapat diextract dengan perintah berikut:

tar xjvf /lokasi-file/nama-file.tar.bz2

Seandainya pada directory tersebut tidak diberikan akses penuh maka kondisi read, write, dan execute perlu diberi angka biner “1”. Bila memberi akses penuh maka rwx (read write execute) adalah “111(2)” merupakan “7(10)”. Maka perintahnya:

chmod –R 777 /lokasi-directory/namadirectory

“7” pertama adalah memberi akses rwx pada adminstrator, yang kedua kepada user, dan ketiga untuk group, sedangkan “-R” agar berlaku terhadap semua isi pada directory tersebut. Penggunaan cross compiler ini akan sekaligus dibahas pada saat membentuk Linux kernel. Pada makalah ini langkah-langkahnya adalah sebagai berikut (merupaka satu directory dengan cross compiler yang telah didownload):

tar xzvf linux-gcc-4.1.2-arm-xscale-linux-gnu-glibc-2.3.3.tgz 
chmod –R 777 arm-xscale-linux-gnu 

Sebelum memulai sebaiknya mendownload dependencies yang diperlukan:

apt-get install libncurses5-dev libusb-dev libftdi1 libftdi-dev ldconfig mtd-tools ssh

Selanjutnya untuk Linux kernel digunakan dari http://www.kernel.org/pub/linux/kernel versi 2.6.29.1 rc 1.1 atau dapat “git” yang tersedia oleh komunitas. Bila diperlukan extract dan modifikasi hak akses Linux kernel tersebut. Setelah itu masuk ke directory dan atur cross compiler. Khusus untuk compiling Kernel, pada file bernama “Makefile” terdapat baris “ARCH=” dan “CROSS_COMPILE=” yang perlu dideklarasikan (masih kosong). Untuk mendeklarasikan secara universal dapat dilihat perintah berikut:

cd /lokasi-directory-Linux-kernel 
export ARCH=arm 
export CROSS_COMPILE=/lokasi-directory-cross-compiler/lokasi-bin/nama-cross-compiler- 

Pada makalah ini, perintahnya adalah sebagai berikut (Linux kernel dan cross compiler pada satu directory):

tar xzvf linux-2.6.29.1.tar.gz  
chmod –R 777 linux-2.6.29.1 
cd linux-2.6.29.1 
export ARCH=arm 
export CROSS_COMPILE= ../arm-xscale-linux-gnu/bin/arm-xscale-linux-gnu- 

Dengan perintah tersebut maka ditentukan platform adalah “arm” (merupakan platform unutuk perangkat-perangkat berukuran kecil) dan menggunana cross compiler “arm-xscale-linux-gnu”, directory “arm-xscale-linux-gnu/bin” terdapat file “arm-xscale-linux-gnu-gcc”, “arm-xscale-linux-gnu-g++”, dan lain-lain. Untuk mengatur apa saja yang dicompile dapat dilihat pada file “Makefile”. Untuk mempermudah digunakan make menuconfig. Maka diperlukan “libncurses5-dev”. Selanjutnya diperlukan untuk copy file “imote2-linux_defconfig” ke directory /root menjadi nama “.config”.

cp /lokasi-directory-Linux-kernel/lokasi-file-imote2-linux_defconfig/imote2-linux_defconfig /root/.config 

Pada makalah ini perintahnya (masih pada directory Linux kernel):

cp arch/arm/configs/imote2-linux_defconfig /root/.config

Untuk compile kernel:

make menuconfig

Disini dapat diatur apa saja yang ingin di instal.

make jenis-image

Jenis image biasanya berupa zImage atau bzImage. Pada makalah ini:

make zImage

Selanjutnya membuat module:

make module 
make INSTALL_MOD_PATH=$PWD/modules modules_install 

Perintah ini akan menginstalasi module pada directory bernama “modules”.

Setelah selesai compile Linux kernel adalah compile filesystem. Source dari filesystem yang digunakan dari http://sourceforge.net/projects/imote2-linux/files/imote2-rootfs. Dibutuhkan juga mkfs.jffs2 tool yang terdapat pada mtd-tools. JFFS2 (Journaled Flash File System 2) merupakan file system yang didesain untuk flash file perangkat pada embedded system. Setelah directory file system di extract, modules yang telah dicompile pada Linux-kernel dicopy pada directory ini.

Untuk membuat 16MB filesystem:

mkfs.jffs2 --squash-uid -r ./linux-rootfs -o rootfs.jffs2 -e 0x20000 --pad=0x01000000

Untuk membuat 32MB filesystem:

mkfs.jffs2 --squash-uid -r ./linux-rootfs -o rootfs.jffs2 -e 0x20000 --pad=0x01DC0000

Bahan terakhir yang dibutuhkan setelah Linux kernel dan filesystem adalah bootloader. Pada makalah ini, bootloader yang digunakan tersedia pada http://sourceforge.net/projects/imote2-linux/files/blob-im2.

Bila bahan sudah tersedia maka proses selanjutnya adalah embed pada radio sensorboard platform Imote2. Seperti pada penelitian [6] dan [7] langkah-langkah untuk flashing, pada makalah ini langkah-langkah flashing berdasarkan tutorial [14] dengan catatan tidak mengikuti langkah-langkah yang menggunakan TinyOS. Untuk flashing perlu diinstalasi driver JTAG interface FTDI. Package yang diperlukan pada host adalah libusb-dev, libftdi1, libftdi-dev, dan ldconfig. OpenOCD yang digunakan tersedia pada http://downloads.sourceforge.net/project/openocd. Langkah-langkah untuk instalasi OpenOCD sebagai berikut (didalam directory OpenOCD yang telah diextract):

./configure --enable-ft2232_libftdi 
make 
make install 
chmod –R 777 /lokasi-openocd-yang-telah-diinstalasi 
openocd -f /lokasi-file-configuration -f /lokasi-file-configurationintelmote 

Pada makalah ini langkah-langkahnya sebagai berikut:

tar xjvf openocd-0.4.0-rc1.tar.bz2 
cd openocd-0.4.0-rc1 
./configure --enable-ft2232_libftdi 
make 
make install 
chmod –R 777 /usr/local/bin/openocd 
Hubungkan kabel USB seperti pada gambar 4. (b). Perintah untuk mengkoneksikan target dengan host:
openocd -f /lokasi/file/configuration –f /lokasi/file/ configuration-intelmote

Pada makalah ini untuk embed bootloader, Linux kernel, dan filesystem seperti berikut (pada directory yang berisi file bootloader, directory Linux kernel, dan directory filesystem):

openocd –f /usr/local/share/openocd/scripts/interface/ jtagkey.cfg –f board/crossbow_tech_IMote2.cfg 
telnet localhost 4444 
reset halt 
flash protect 0 0 258 off 
flash erase_sector 0 0 258 
flash write_image blob-im2 0x0 bin 
flash write_image linux-2.6.29.1/arch/arm/boot/zImage /zImage  
0x00040000 bin 
flash write_image rootfs.jffs2 0x00240000 bin 

Perintah “reset halt” agar target dalam keadaan halted, perintah “flash protect 0 0 258 off” untuk menghilangkan protect, perintah “flash erase_sector 0 0 258” untuk menghapus isi pada sector tersebut (menghapus isi), dan perintah “flash write source destination” untuk mengisi target dari host.

Jika semua langkah-langkah tersebut telah dilaksanakan maka Linux telah berhasil diembed. Terakhir adalah konfigurasi pada target melalui koneksi serial, seperti pada [6], [7], dan [15]. Sebelum lanjut hubungan kabel USB seperti Gambar 5.

Cara menghubungkan kabel USB Imote2
Gambar 5 Cara menghubungkan kabel USB

Applikasi serial terminal pada host dapat digunakan Putty, GTKterm, dan masih banyak aplikasi lainnya. Untuk koneksi serial dari host ke target diperlukan pengaturan sebagai berikut:

  • Connection type : serial
  • /dev/ttyUSB1 (atau 0)
  • Speed 115200
  • Data bit: 8
  • Stop bit: 1
  • Parity: none
  • Flow control: XON/OFF

Alamat IP yang digunakan adalah 192.168.99.101/24. Untuk mengaktifkan alamat IP dan SSHD secara otomatis, dan mengganti alamat IP, langkah-langkahnya sebagai berikut:

ln -s /etc/init.d/networking /etc/rc2.d/S10networking 
ln -s /etc/init.d/sshd /etc/rc2.d/S11sshd 
ln -s /etc/init.d/networking /etc/rc5.d/S10networking 
ln -s /etc/init.d/sshd /etc/rc5.d/S11sshd 
vi /etc/init.d/networking (ganti IP address) 
vi /etc/network/interfaces (ganti IP address) 

Selanjutnya membuat script agar radio hidup secara otomatis. Scriptnya tersimpan pada directory “/root/tosmac” dengan nama loaddriver, dan isi loaddriver sebagai berikut:

#!/bin/sh 
insmod /lib/modules/2.6.29.1_r1.1/kernel/arch/arm/mach-pxa/ssp.ko 
insmod /lib/modules/2.6.29.1_r1.1/kernel/drivers/tosmac/tos_mac.lo 
mknod /dev/tosmac c 240 0 

Maka untuk mengaktifkan radio dan dapat mengirim data secara otomatis langkah-langkahnya sebagai berikut:

ln –s /root/tosmac/loaddriver /etc/rc2.d/S12loaddriver 
ln –s /root/tosmac/loaddriver /etc/rc5.d/S12loaddriver 
ln –s /root/tosmac/CntToLeds /etc/rc2.d/S14Transmitter (pengirim data otomatis) 
ln –s /root/tosmac/CntToLeds /etc/rc5.d/S14Transmitter (pengirim data otomatis) 

Tahap embed dan konfigurasi telah selesai.

Berbeda dengan penelitian [6] yang menggunakan transmisi radio IEEE 802.15.4 ZigBee, penelitian [7] menggunakan transmisi radio IEEE 802.11 WLAN. Pada [7] dibuatkan daughter board yang akan terkoneksi dengan WLAN USB TP-LINK seperti Gambar 6.

Daughter board skema Daughter board alat wlan
Gambar 6 Daughter board [7] (a) skema (b) alat

Pertama perlu diaktifkan USB host support dengan menambahkan script berikut pada file linux-2.6.29.1/arch/arm/mach-pxa/imote2.c. Scriptnya sebagai berikut [7]:

//baris pertama
#include   

//isi 

/*  
* Configure USB Host (OHCI)  
* For Imote2 the following configuration is used:  
* USB Port 1 is used as USB Host  
* USB Port 2 is used as USB Gadget (as default for Imote2)  
*/  

static int imote2_ohci_init(struct device *dev) {  
return 0;  
}  

static struct pxaohci_platform_data imote2_ohci_platform_data = {  
.port_mode = PMM_NPS_MODE,  
.init = imote2_ohci_init,  
.flags = ENABLE_PORT1 | NO_OC_PROTECTION,  
.port_mode = PMM_PERPORT_MODE,  
.power_budget = 150, //300  
};
//baris terakhir 

pxa_set_ohci_info(&imote2_ohci_platform_data);

Pada “make menuconfig” dikonfigurasi sebagai berikut [7]:

1. Konfigurasi modul USB-Host. 
Device Drivers >USB support >Support for Host-side USB <*>  
  >USB device filesystem [*]  
  >USB device class-device (DEPRECATED)[*]  
  >USB Monitor<*>  
  >OHCI HCD support<*>
 
2. Konfigurasi modul Wireless LAN 802.11. 
Networking support >wireless >Improved wireless configuration API (M)  
  >nl80211 new netlink interface support [*]  
  >Wireless extensions sysfs files [*]  
  >Common routines for IEEE802.11 drivers (M)  
  >Generic IEEE 802.11 Networking (M)  
  >Enable LED triggers [*] 
  Device Drivers >Network device Support >Wireless LAN 
    >Wireless LAN (IEEE 802.11) [*] 

3Konfigurasi modul driver TP-Link WN-321G (rt73). 
Device Drivers >Network Device Support>Wireless LAN  
  >Ralink driver support [M]  
  >Ralink rt2501/rt73 (usb0 support) [M]  
  >Ralink debug output [*] 

Selanjutnya mengulang tahap-tahap dari compile Linux kernel dan filesystem hingga flashing dan konfigurasi. Pada penelitian [7] menggunakan TL-WN321G (TP-LINK), driver versi Linux dapat didownload pada situs resminya. Langkah-langkah instalasinya sebagai berikut:

tar xvf TpLink_TL_WN321G_in_Linux.tar  
cd TpLink_TL_WN321G_in_Linux/Module/  
gedit Makefile  
  1. Menambahkan baris “PLATFORM=EMBEDDED”.
  2. Menghilangkan baris “PLATFORM=PC” dan “PLATFORM=CMPC”.
  3. Mengatur link dari sumber kernel yang dicompile.
ifeq ($(PLATFORM),EMBEDDED)  
LINUX_SRC=../linux-2.6.29.1  
endif  

#export ARCH=arm  
#export CROSS_COMPILE=../arm-xscale-linux-gnu/bin/arm-xscale-linux-gnu- 
#make all   

Proses compile akan menghasilkan sebuah file yang bernama “rt73.ko” yang akan digunakan sebagai module untuk driver Wireless Lan 802.11. Kemudian copy data tersebut pada target dengan perintah berikut:

scp rt73.ko root@192.168.99.101:/root rt73.ko

Selanjutnya pada target dibuat script agar radio aktif secara otomatis berdasarkan langkah-langkah dari [7].

ssh –l root 192.168.99.101 
vi /etc/rc2.d/S50StartupScript 

Scriptnya seperti berikut:

#********************************************************* 
#********S50StartupScipt File***************************** 
#********This file configures Wlan on Imote2************** 

#install driver 
cd /root/ 
insmod rt73.ko 
echo -n 1 > /sys/bus/usb/devices/1-1/bConfigurationValue 

#Configure Wlan 
sleep 10 
ifconfig rausb0 up 
iwconfig rausb0 essid imote2 
iwconfig rausb0 mode ad-hoc 
ip link set rausb0 up 
ifconfig rausb0 inet 192.168.1.2 
ifconfig rausb0 netmask 255.255.255.0 
ifconfig rausb0 gateway 192.168.1.1 
#********EOF S50StartupScript File************************* 
chmod 777 S50StartupScript 

Tahap konfigurasi bila menggunakan IEEE 802.11 WLAN telah selesai. Jika dibandingkan kedua penelitian tersebut, pada [7] lebih boros baik pada konsumsi memory maupun konsumsi daya listrik dibanding [6]. Pada penelitian [7] memory yang dikonsumsi adalah 16.9MB dari 29.8MB, sedangkan pada [6] hanya dikonsumsi 13.6MB dari 29.8MB. Konsumsi daya listrik dapat dilihat pada Gambar 7.

Konsumsi daya listrik pada target perangkat <a href=[6], dan perangkat" />
Gambar 7 Konsumsi daya listrik pada target perangkat [6], dan perangkat [7]

Simpulan

Dari makalah ini dapat ditarik kesimpulan sebagai berikut:

  1. Linux kernel dicross-compile ke platform Imote2 terlebih dahulu. Proses selanjutnya membentuk filesystem dan menyiapkan bootloader.
  2. Untuk embed bootloader, Linux kernel, dan filesystem pada target melalui interface JTAG menggunakan software OpenOCD. Prosesnya disebut flashing.
  3. Konfigurasi target meliputi pengaktifkan secara otomatis alamat IP, SSHD, dan radio melalui koneksi serial, dengan membuat link ke script konfigurasi di RC level 2 dan level 5.
  4. Dari penelitian [6] dan [7] penggunakan media transmisi dengan standar IEEE 802.11 WLAN pada platform Imote2 lebih boros memory dan daya listrik dibanding menggunakan media transmisi dengan standar IEEE 802.15.4 ZigBee.

Referensi

  1. H. Y. Shwe, C. Wang, P. H. J. Chong, A. Kumar. "Robust Cubic-Based 3-D Localization for Wireless Sensor Networks," wireless sensor network, vol. 5, no. 9, hal. 169-179, September 2013. [online]. Tersedia: www.scirp.org. [Diakses: 12 Oktober 2013]
  2. http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/WSN.svg/537px-WSN.svg.png. [Diakses: 14 Oktober 2013]
  3. N. P. Sastra. “Wireless Sensor Network,” 18 Desember 2009. [Entri Blog]. Blog Wireless Sensor Network Nyoman Putra Sastra. Tersedia: http://staff.unud.ac.id/~putra/2009/12/18/wireless-sensor-network.html. [Diakses: 14 Oktober 2013].
  4. N. P. Sastra, Wirawan, G. Hendrantoro, “Virtual View Image over Wireless Visual Sensor Network,” Telkomnika, vol.9, no.3, hal. 489-496, Desember 2013. [online]. Tersedia: http://journal.uad.ac.id/index.php/TELKOMNIKA/article/view/1286/677. [Diakses: 14 Oktober 2013].
  5. N. P. Sastra, D. M. Wiharta, I. M. O. Widyantara, Wirawan. “Modeling Wireless Visual Sensor Network with a Low Energy Consumption for Desired Image Quality and View Point,” academia.edu shared research [online]. Tersedia: http://www.academia.edu/831948/Modeling_Wireless_Visual_Sensor_Network_with_a_Low_Energy_Consumption_for_Desired_Image_Quality_and_View_Point. [Diakses: 14 Oktober 2013].
  6. I. M. Wiasta, "Performasi Platform Imote2 pada Jaringan Sensor Nirkabel," Laporan Tugas Akhir, Jurusan Teknik Elektro., Universitas Udayana, 2012.
  7. F. S. Natha, "Performasi Platform Imote2 Menggunakan Standar 802.11 pada Jaringan Sensor Nirkabel," Laporan Tugas Akhir, Jurusan Teknik Elektro., Universitas Udayana, 2012.
  8. N. P. Sastra, Wirawan, G. Hendrantoro, “Design and Implementation of Wireless Multimedia Sensor Network Nodes Based on Linux OS,” academia.edu shared research [online]. Tersedia: http://www.academia.edu/454554/Design_and_Implementation_of_Wireless_Multimedia_Sensor_Network_Nodes_Based_on_Linux_OS. [Diakses: 14 Oktober 2013].
  9. N. P. Sastra. “Test Capture Image pada Intelmote 2 aka My First IMB400 Image,” 18 April 2010. [Entri Blog]. Blog Wireless Sensor Network Nyoman Putra Sastra. Tersedia: http://staff.unud.ac.id/~putra/2010/04/18/test-capture-image-pada-intelmote-2-aka-my-first-imb400-image.html. [Diakses: 18 September 2013].
  10. Stanford, “Imote2,” stanford.edu [online]. Tersedia: http://tinyos.stanford.edu/tinyos-wiki/index.php/Imote2 [Terakhir dimodifikasi: 15 Mei 2013, 14:07].
  11. Jorg Kasteleiner, “Principles of applying Embedded Linux on Imote2,” Diploma Thesis, Faculty of Computer Science and Engineering., University of Applied Sciences Frankfurt am Main, 2010.
  12. WSN_Imote2_HW_Bundle_Datasheet,” Crossbow Technology Inc, San Jose, California.
  13. N. P. Sastra. “Langkah-Langkah Instalasi TinyOS 2.1.0 Intel mote 2 pada Ubuntu 8.04/9.04/9.10,” 18 Desember 2009. [Entri Blog]. Blog Wireless Sensor Network Nyoman Putra Sastra. Tersedia: http://staff.unud.ac.id/~putra/2009/12/18/langkah-langkah-instalasi-tinyos-untuk-intel-mote2.html. [Diakses: 18 September 2013].
  14. N. P. Sastra. “Flashing Program pada Intelmote2,” 17 April 2010. [Entri Blog]. Blog Wireless Sensor Network Nyoman Putra Sastra. Tersedia: http://staff.unud.ac.id/~putra/2010/04/17/flashing-program-pada-intelmote2.html. [Diakses: 18 September 2013].
  15. N. P. Sastra. “Tutorial Instalasi Linux embedded system pada intel mote2 (imote2) board,” 16 Juni 2010. [Entri Blog]. Blog Wireless Sensor Network Nyoman Putra Sastra. Tersedia: http://staff.unud.ac.id/~putra/2010/06/16/tutorial-instalasi-linux-embedded-system-pada-intel-mote2-imote2-board.html. [Diakses: 18 September 2013].

Mirror

October 28, 2020

Factory Reset on Smartphone and Windows and Linux

factory reset Huawei

Factory Reset Android

Factory reset is an action of returning a device into its initial state when it was still in a package. There are many reasons for factory reset:

  • Resell your device as second hand or giving it to someone.
  • You feel a negative change in your device such as being very slow, often hangs, buttons does not work, other misfunctions, or even like my case that it blanks where no buttons worked.

If you value your data, do your best first to recover them such as backing them up into an SD card, connecting the Android to a computer using USB type C, or even using Android SDK. If no matter, you need the data, the furthest you can go is to boot into recovery and choose wipe cache partition instead of factory reset. If all else fails then go to a professional. Otherwise, the last thing to do is to perform factory reset:

  • Power off (press the power button for a long time).
  • 00:00 For my Huawei JDN-L01, press power button + volume up. For other device, check their websites or try every possible combination:
    • Power Button + Volume Up
    • Power Button + Volume Down
    • Power Button + Home
    • Power Button + Volume Up + Volume Down
    • Power Button + Volume Up + Home
    • Power Button + Volume Down + Home
    • Power Button + Volume Up + Volume Down + Home
  • 00:15 Release on second boot.
  • 00:35 Choose factory reset.
  • 03:35 Choose Language.
  • 04:00 Choose Region.
  • 04:10 Connect to WiFi.
  • 04:36 Agree to Terms and Service.
  • 04:50 Login to Google.
  • 06:11 Configure Google services.

After that is should be almost back to how it was when you bought it. I suggest to update the Android firmware and update the apps. Finally, install any apps you need.

Windows System Restore

For a long time, Windows have a system restore function where ideally returns the installation condition of your Windows to a certain date. This does not delete your personal data but uninstall applications that does not exist on the chosen date. I do not know what else is affected such as services, policies, settings, and registry so do leave a comment if you know. If you never explore this feature before, I suggest you do now and at least one time on every new Windows devices to create at least one restore point or when in the future you want to clean your Windows, you have to uninstall software manually or reinstall the Windows operating system.

windows create restore point search
Type system restore or create restore point on the search bar or find system properties.
windows system protection and restore
Go to system protection. Turn on an configure restore setting for each disk. Create a restore point if you have not. When the time comes, choose system restore to restore your Windows to a certain point.

Linux Restore

Linux is robust enough that I never needed to rely on any system restore or I became more experienced because I used it often and I know how to handle problems manually without needing to restore. If not, backing up my files and reinstalling the operating system was easy enough. However, I found two application on Debian based Linux for system restore and there maybe more out there.

ubuntu timeshift
In new Ubuntu 20.04 LTS, I found Time Shift which is also available on MacOS. It is simple, all you need is to install and run the GUI.
sudo apt install timeshift

If it is not available on your repository then add the repository manually or download and compile manually from its Github.

sudo add-apt-repository -y ppa:teejee2008/timeshift
sudo apt update
sudo apt install timeshift
ubuntu systemback
An older software on Ubuntu is Systemback.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 382003C2C8B7B4AB813E915B14E4942973C62A1B
sudo add-apt-repository "deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main"
sudo apt update
sudo apt install systemback

Mirrors

October 27, 2020

Mata Uang Kripto 101 untuk Pengguna: BAB 4 Bagaimana Mendapatkannya Jika Tidak Bisa Membelinya

getting crypto

Dua cara default untuk mendapatkan mata uang kripto adalah dengan menambang dan membeli dari penambang. Setelah membaca ketiga bab tersebut, Anda pasti sudah terbiasa dalam membeli koin mata uang kripto. Namun, Anda bisa saja memilih untuk tidak membeli karena berbagai alasan seperti takut rugi, masih kurang nyaman dengan mata uang kripto, atau Anda justru tidak punya sepeser pun untuk membeli. Bab ini menyajikan metode lain untuk mendapatkan mata uang kripto yang sebagian besar gratis tetapi tidak banyak.

Daftar Isi

Menggunakan Produk Kripto

Cara terbaik bagi pemula untuk mendapatkan koin mata uang kripto adalah dengan mencoba menggunakan produk yang didukung kripto. Ini adalah pengantar yang baik untuk pemula untuk melihat inovasi apa yang sedang dikembangkan di dunia kripto. Sementara layanan saat ini seperti Google dan Facebook menyimpan keuntungan untuk diri mereka sendiri, sebagian besar produk bertenaga kripto membagikan keuntungan mereka dengan pengguna di mana sebagian besar konsep mereka adalah produk tidak berguna tanpa pelanggannya. Bahkan jika mereka belum mendapat untung, mereka dapat membagikan koin kepada Anda terlebih dahulu dan memikirkan nilai koin itu nanti.

Browser Kripto

Saya akan menebak bahwa sebagian besar dari Anda yang ada di sini sering menggunakan Internet dimana Anda sering menggunakan browser. Saatnya mengganti browser Anda. Gunakan browser kripto. Penafian, kebanyakan dari mereka belum tentu terdesentralisasi tetapi mereka memberi Anda token kripto sebagai hadiah atas menggunakan browser mereka dan mereka menyediakan fungsi tambahan yang terkait dengan mata uang kripto.

Brave Browser

brave rewards tips

Yang paling populer saat ini adalah browser Brave, tersedia di sebagian besar sistem operasi yaitu Windows, Linux, MacOS, Android, dan IOS. Brave browser mengubah cara iklan online ditampilkan. Dari penelitian mereka, banyak iklan dan pelacak yang tidak diinginkan dan mengganggu pengguna online. Tidak hanya mereka berkontribusi pada penggunaan data yang berat tetapi juga mendapatkan informasi pribadi Anda secara gratis dan tanpa persetujuan Anda dan bahkan lebih buruk lagi beberapa di antaranya berbahaya. Unduh dan instal melalui tautan ini: https://brave.com/faj934.

brave shield tor

Brave browser mengembalikan kendali kepada Anda, di mana Anda memutuskan apakah Anda ingin melihat iklan atau tidak dan jika Anda memilih untuk melihat iklan yang berasal dari Brave, Anda akan dihadiahkan Basic Attention Token (BAT). Dari sudut pandang pengguna, pemberitahuan acak akan muncul memberi tahu Anda bahwa ada iklan. Anda dapat memilih untuk mengklik dan melihat untuk mendapatkan hadiah atau mengabaikannya. BAT itu dapat disimpan untuk Anda sendiri atau diberikan kepada pemilik situs web.

Netbox Browser

Netbox Reward Distribution

Browser Netbox dikatakan sebagai browser terdesentralisasi di mana Anda dihargai Netbox (NBX) untuk menggunakannya. Browser ini memiliki dasar Fungsi dompet kripto Netbox seperti mengirim, menerima, dan kunci cadangan. Fungsi yang paling menarik bagi saya sekarang adalah fungsi staking di mana Anda dapat mendeposito NBX untuk mendapatkan lebih banyak NBX. Sayangnya browser ini hanya tersedia di sistem operasi Windows. Unduh browser Netbox melalui tautan ini: https://netbox.global/r/publish0x.

My Netbox Activity and Staking Rewards Transaction

Bittube Extension or Browser

Netbox BitTube

Bittube adalah favorit saya karena Anda tidak perlu menggunakan browser tetapi Anda dapat menginstal ekstensinya di browser manapun. Misalnya, di Windows, saya menggunakan browser Netbox dengan ekstensi Bittube dan mendapatkan NBX dan TUBE pada saat yang sama, dan di Linux, saya menggunakan Brave Browser dengan ekstensi Bittube dan mendapatkan BAT dan TUBE pada saat yang sama. Mereka menamakan layanan airtime yang memberi Anda imbalan Bittube coin (TUBE) untuk waktu yang Anda habiskan untuk menjelajah Internet sambil menggunakan ekstensi Bittube. Unduh Bittube melalui tautan ini: https://bittube.app/?ref?2JY4FE0CP.

bittube adblock vpn monetize tips

Selain fungsi adblocker serupa di Brave Browser, Bittube memberikan fitur yang sangat menarik bagi saya yaitu monetisasi dimana jika ada orang khususnya dengan Ekstensi Bittube terpasang yang mengunjungi situs web, blog, media sosial, dan platform saya lainnya, saya akan diberi TUBE. Selain itu, ini awalnya adalah platform video seperti Youtube yang bagus untuk saya sebagai pembuat konten. Oleh karena itu, saya berinvestasi TUBE dengan bertaruh ke level tertinggi untuk mendapatkan hadiah maksimum.

Cryptotab Browser

Cryptotab CPU Mining

Browser ini adalah fork dari Chrome dengan bedanya terpasang penambangan Bitcoin CPU. Yang harus Anda lakukan hanyalah mengunduh, menginstal, dan menekan tombol penambangan untuk mulai menambang. Kesederhanaan ini bagus untuk pemula yang tidak ingin membeli Bitcoin atau hanya ingin mencoba pengalaman menambang tetapi tidak ingin memikirkan teknisnya. Meskipun bisa memakan waktu berhari-hari untuk mendapatkan satu dolar Bitcoin, tetapi dalam kira-kira dua hari Anda akan mendapatkan cukup uang untuk ditarik ke dompet Anda. Penafian, secara teknis tidak menambang Bitcoin tetapi altcoin yang akan dikonversi ke Bitcoin. Unduh menggunakan tautan ini https://cryptotabbrowser.com/landing/67/2016839/?p=spring21 yang tersedia di Windows, MacOS, Android, dan IOS.

Mesin Pencari Kripto

Presearch

presearch

Presearch adalah mesin pencari terbuka dan terdesentralisasi yang memberikan imbalan kepada Anda Presearch Tokens (PRE) untuk penggunaan, kontribusi, dan promosi Anda. Presearch sedang dalam proses untuk merilis versi mendatang dari platform open source yang akan menggunakan indeks berbasis blockchain yang dikurasi oleh komunitas. Ini adalah deskripsi dari situs web mereka dan mendaftar terlebih dahulu menggunakan tautan ini https://www.presearch.org/signup?rid=1830117 sebelum Anda bisa mendapatkan penghasilan.

Sosial Media Kripto

Torum

torum

Torum adalah platform media sosial yang menghargai keterlibatan pengguna di Xtorum (XTM). Desain antarmuka yang mirip dengan Facebook memberikan keakraban bagi pengguna baru. Saat ini masih dalam tahap beta dan akan beralih ke desentralisasi di masa mendatang. Oleh karena itu pada saat penulisan bab ini, Anda hanya dapat bergabung melalui tautan undangan https://www.torum.com/signup?referral_code=0fajarpurnama0. Sedangkan saya, saya menunggu aplikasi smartphone mereka keluar dan setidaknya situs web ramah seluler. Berbeda dari sebagian besar platform media sosial bertenaga kripto, hadiah token diberikan dengan memberi Anda misi harian, mingguan, dan bulanan seperti masuk, membuat, dan berbagi pos setiap hari, mengomentari tiga pos, dan menyukai lima pos untuk hadiah. Torum akan menjadi lebih dari sekedar media sosial yang diberdayakan oleh kripto. Singkatnya, ini akan menjadi pertukaran yang terintegrasi dengan media sosial dan produk lain yang menyediakan utilitas token XTM. Jika Anda tertarik untuk informasi lebih lanjut, bergabung sekarang dan lihat sendiri.

Minds

minds

Minds adalah layanan jaringan sosial terdistribusi gratis dan open source yang menggunakan blockchain untuk memberi penghargaan kepada komunitas dengan token. Minds menjadi populer karena komitmennya terhadap privasi, desentralisasi, anonimitas opsional, transparansi radikal, kebebasan berbicara, dan penghargaan pengguna berbeda dengan pengawasan, kerahasiaan, penyensoran, dan manipulasi algoritme yang diduga, terjadi di banyak jaringan sosial berpemilik. Aplikasi ponsel pintar juga tersedia dan desain antarmukanya sama mudahnya dengan platform jejaring sosial populer. Bergabunglah menggunakan tautan ini https://www.minds.com/register?referrer=0fajarpurnama0.

Uhive

uhive

Platform media sosial baru yang memberi Anda hadiah berupa token Uhive. Konsepnya adalah memiliki banyak ruang dan Anda memilih ruang mana yang akan diikuti (seperti myspace?). Mereka juga memiliki aplikasi smartphone yang didesain dengan baik. Bergabunglah di https://rt.uhive.com/referral dan gunakan kode rujukan saya (GY3WKO) untuk mendapatkan token tambahan 25% untuk semua pembelian baru Anda.

Voice

voice

Tidak seperti platform lain, Voice bebas bot dan hanya mengizinkan satu akun per orang. Ini berarti interaksi antara orang sungguhan. Anda bisa mendapatkan imbalan berupa token Voice untuk membuat konten populer. Saat ini masih dalam tahap undangan dan saya masih dalam daftar tunggu.

Crypto Powered Blogging Platform

Steemit & Hive Blog & Blurt

blurt

Steem awalnya adalah blockchainnya sendiri untuk konten yang didesentralisasikan. Anda mendapatkan imbalan Steem jika Anda mengomentari tulisan dan orang lain memberi suara positif pada komentar Anda di Steemit. Dikatakan juga bahwa Anda mendapatkan sebagian dari hadiah jika Anda memberi suara positif dan kemudian orang lain memberi suara positif setelah Anda, tetapi saya tidak begitu yakin. Ya, ada konflik internal di Steemit dimana Justin Sun membelinya dan akhirnya berpisah menjadi Steem dan Hive blockchain dimana Hive adalah hardfork dari Steem. Namun sebagai pengguna pemula atau pembuat konten, untuk apa peduli? Gabung saja ke keduanya Steemit dan Hive Blog dan lihat bagaimana kelanjutannya. Masih ada platform lain di luar sana selain Steemit dan Hive Blog yang belum saya jelajahi. Baru-baru ini, fork lain keluar bernama Blurt World di mana perbedaannya adalah tidak ada suara negatif. Tidak seperti Steem dan Hive dimana mereka yang memegang koin paling banyak memiliki kemampuan untuk menghancurkan tulisan yang tidak mereka sukai, Blurt tidak dapat dikendalikan oleh Whale (Ikan Paus). Bergabunglah sekarang di https://hiveonboard.com/?ref=fajar.purnama, https://signup.steemit.com/?r=fajar.purnama, dan https://register.blurt.buzz/?referral=fajar.purnama.

steemit

Uptrennd

uptrennd

Saya pertama kali melihat Uptrennd sebagai media sosial yang memberikan penghargaan kepada pengguna dalam 1UP token untuk keterlibatan seperti membaca tulisan dan berkomentar, tetapi kemudian saya melihatnya terlalu berlebihan untuk menjadi platform media sosial karena panjangnya posting. Biasanya platform media sosial memiliki orang yang memposting beberapa kalimat status tetapi sebagian besar posting yang saya lihat lebih seperti posting blog yang lebih panjang dari status. Juga, berhati-hatilah saat berkomentar di sini. Awalnya saya tidak tahu bahwa pengguna mendapatkan Token 1UP hanya dengan berkomentar dan akhirnya banyak orang yang melakukan spam hanya untuk mendapatkan hadiah. Komunitas membenci komentar yang tidak informatif bahkan komentar seperti "pertahankan kerja bagus", "tulisan yang bagus", dan "Anda melakukannya dengan baik" dianggap sebagai spam. Anda harus memberikan komentar yang lebih informatif seperti mengajukan pertanyaan terkait dan memberikan umpan balik. Bergabunglah sekarang di https://www.uptrennd.com/signup/NjYwNjg.

Publish0x

publish0x

Publish0x adalah platform agnostik kripto yang memberi Anda penghargaan dalam berbagai token untuk membaca tulisan. Sistemnya adalah sistem tip tetapi mereka yang menyediakan dananya untuk Anda. Selain itu, Anda memilih seberapa banyak yang harus dibagi antara Anda dan penulis postingan. Secara alami, ini menarik posting yang fantastis dimana ini adalah salah satu platform dimana saya menemukan permata crypto tersembunyi juga tempat yang baik untuk mengikuti berita mata uang kripto sambil mendapatkan hadiah. Bergabunglah sekarang di https://www.publish0x.com/register?a=4oeEw0Yb0B&tid=cryptocurrency101forusers.

publish0x tip interface

Multimedia Kripto

LBRY

https://file.army/i/B4sclGU

LBRY adalah platform video yang didedikasikan untuk penolakan sensor dan kepemilikan konten. Sebagai penonton, Anda mendapatkan hadiah dengan menonton video dan mengikuti pembuat konten dalam Kredit LBRY. Mereka sangat semangat dalam mengundang para pengguna yang membenci sensor Youtube. Jika Anda memiliki channel Youtube, Anda dapat backup ke LBRY hanya dalam beberapa langkah dan akan tetap tersinkronisasi di mana Anda tidak perlu mengunggah LBRY, cukup unggah ke Youtube dan LBRY akan menggandakan video ke channel LBRY untuk Anda. Sekarang mereka punya Odysee yang sama dengan LBRY tetapi desainnya lebih baik. Bergabunglah sekarang di https://lbry.tv/$/invite/@0fajarpurnama0:e

Bittube

bittube tv

Bittube mirip dengan LBRY tetapi tidak hanya fokus pada multimedia. Mereka memiliki airtime, browser, adblock, layanan jaringan pribadi virtual (VPN), monetisasi konten, dan Pembayaran TUBE. Kemungkinan besar mereka akan memperluas layanan mereka di masa depan. Untuk saat ini ada bittube.tv dan bittube.video tetapi sebelumnya Anda perlu memasang ekstensi browser dan mendaftar melalui tautan ini: https://bittube.app/?ref?2JY4FE0CP.

Dtube

dtube

Dtube dibangun di atas blockchain Steem meskipun mereka mengubah sistem hadiah mereka ke token Dtube mereka sendiri. Karena ini Steem, sistemnya hampir sama. Anda mendapatkan imbalan jika Anda memberikan komentar dan suara positif lainnya. Yang satu ini benar-benar terdesentralisasi sehingga mereka mungkin tidak menyimpan video di server mereka sendiri tetapi langsung ke sistem file antarplanet (IPFS) di mana Anda harus selalu memiliki cadangan video Anda sendiri karena mereka dapat menghilang. Video saya hilang yang saya tidak tahu mengapa tetapi saya curiga bahwa video saya tidak cukup populer di mana tidak cukup node yang menyimpan video saya dan node tersebut sekarang sedang down.

Permainan Kripto

decentraland

Daripada hanya memberi hadiah kepada pemain dengan koin karena memainkan video game mereka, implementasinya lebih ke Token Nonfungible (NFTs). NFT seperti kepemilikan media digital yang didukung oleh blockchain. Anggap saja sebagai lukisan Monalisa di mana meskipun Anda membuat duplikatnya yang persis sama, lukisan itu tidak akan memiliki banyak nilai dari aslinya. Meskipun kualitasnya sama, namun faktanya tetaplah orang-orang yang memberi mereka nilai. Jika orang mengatakan itu tidak berharga, maka itu tidak berharga bahkan jika mereka sama persis. Jika Anda berpikir bahwa NFT itu bodoh seperti hanya meniru media digital, Anda akan lebih bodoh lagi jika Anda tidak menerima kenyataan bahwa orang memberi mereka nilai dan tidak mengambil untung. Contoh paling awal adalah Decentraland dimana Anda dapat memiliki tanah dalam realitas maya yang saat ini dapat ditukar dalam mata uang mereka yang disebut MANA.

decentraland market

Ya, saya tahu satu situs yang memiliki koleksi game klasik seperti yang ada di Nintendo dan Game Boy di Roller Coin. Jika Anda memainkan jenis permainan itu setiap hari, lebih baik Anda main di https://rollercoin.com/?r=jyiwc4ls dan dapatkan koin kripto. Sayangnya, saya menjadi lebih sibuk seiring bertambahnya usia. Meskipun saya sangat ingin bermain game, saya tidak punya kesempatan. Oleh karena itu, saya tidak bisa banyak membahas tentang topik ini. Semoga suatu hari nanti saya bisa kaya, jadi saya bisa mulai mengalihkan penghasilan dari pekerjaan ke bermain game seperti para pembuat konten itu.

rollercoin

Menghasilkan Mata Uang Kripto

Penghasilan adalah cara terbaik untuk mendapatkan mata uang kripto tanpa takut kehilangan nilainya karena itu adalah sifat kita ketika kita berinvestasi atau berdagang, kita tidak ingin melihat kerugian tetapi dengan penghasilan, kemungkinan besar kita dapat menghindari masalah psikologis itu. Anda dapat bekerja untuk orang yang memiliki mata uang kripto dengan melakukan beberapa pekerjaan fisik seperti pekerjaan paruh waktu misalnya melakukan pengiriman, menyortir barang, melakukan tugas, dan bahkan memberikan terapi seperti pijat. Selain aktivitas tersebut, berikut beberapa aktivitas online yang saya alami yang dapat menghasilkan mata uang kripto.

Pekerjaan Umum

cointiply

Saya mendefinisikan tugas umum sebagai tugas yang dapat dilakukan oleh hampir semua orang. Misalnya menjawab survei, menguji aplikasi dan game, dan melihat iklan. Aplikasi terbaik yang menyediakan tugas-tugas ini untuk saya pada saat menulis buku ini adalah Cointiply. Menurut saya, ini seperti aplikasi intemediary, bridge, broker, atau pihak ketiga yang menghubungkan penyedia tugas umum di satu tempat. Selain situs webnya, juga tersedia aplikasi smartphone Android dan mudah-mudahan untuk iOS di masa mendatang juga. Bergabunglah sekarang di http://cointiply.com/r/lnEjx. Mungkin ada lebih banyak platform selain Cointiply, tapi saya belum menjelajahi lebih banyak lagi terutama situs freelance yang dibayar menggunakan mata uang kripto.

Pembuatan Konten

Banyak orang menjadi pembuat konten karena pendapatan pasif yang dihasilkan dari iklan dan donasi. Sekarang, Anda bisa menjadi penulis independen dan pembuat konten multimedia yang memiliki saluran sendiri. Jauh sebelum saya berada dalam mata uang kripto, saya adalah seorang blogger dan Youtuber. Berkat integrasi mata uang kripto, pendapatan yang dapat dihasilkan dari pembuatan konten meningkat.

Monetisasi Pribadi

blog layout monetization

Berkat platform periklanan seperti Google Adsense siapa pun dapat memonetisasi konten mereka yang berarti memperoleh pendapatan pasif berdasarkan pemirsa konten. Ada juga jenis platform periklanan lain yang dapat menghasilkan uang dari hyperlink Anda seperti AdFly. Selain iklan, ada Patreon yang didedikasikan untuk menyediakan platform untuk konten premium. Lalu, ada platform mata uang digital seperti Paypal yang memudahkan donasi. Saat ini, ada mata uang kripto yang memperluas kemungkinan monetisasi:

  • Donasi yang lebih sederhana di mana Anda hanya perlu menunjukkan kode QR alamat koin Anda pada konten Anda untuk disumbangkan oleh pemirsa. Ada juga Brave dan Bittube di mana penonton hanya perlu mengklik tombol untuk memberi donasi saat melihat konten Anda tetapi hanya dalam BAT dan TABUNG. Segera, web3, Unstoppable Domain dan inovasi kripto lainnya akan segera hadir dimana bahkan kode QR tidak lagi diperlukan tetapi pemirsa hanya perlu mengklik tombol. Belum lagi donasi mata uang kripto bisa dilakukan secara transparan, sehingga siapapun bisa melihat alur transaksi donasinya.
  • Bittube memiliki fungsi monetisasi airtimenya dimana Anda hanya perlu memposting baris tampilan skrip pada konten Anda. Hasilnya adalah Anda diberi imbalan TUBE untuk lama waktu pemirsa melihat konten Anda terutama para Bittuber.
  • Meskipun Google Adsense dan AdFly hanya membayar Anda dalam mata uang fiat tetapi ada platform lain yang membayar Anda dalam mata uang kripto seperti MellowAds dan A-ADS. Metode periklanan juga berkembang seperti VIDY yang dengan cerdik menempatkan video iklan di beberapa kata artikel Anda.
  • Ada penambangan JavaScript yang kontroversial karena menggunakan sumber daya pemirsa. Meskipun iklan itu sama karena dengan lebih banyak iklan dan pelacak akan menggunakan lebih banyak kapasitas dan kuota jaringan yang juga berarti drainase sumber daya tetapi tidak terlihat seperti penambangan JavaScript. Penambangan JavaScript adalah metode monetisasi di mana pemirsa menyumbangkan kekuatan komputasi kepada Anda untuk menambang mata uang kripto. Platform khusus untuk ini adalah Coinimp dimana yang perlu Anda lakukan hanyalah menyalin skrip ke konten Anda dan pemirsa yang membuka konten Anda akan menambang mata uang kripto untuk Anda. Kontroversi saat itu adalah kurangnya persetujuan untuk penambangan dimana sebagian besar praktik tidak memberi tahu pemirsa bahwa ada penambangan JavaScript yang berarti bahwa pemirsa tidak sadar bahwa mereka menyumbangkan sumber daya komputasi yang juga merupakan listrik untuk menambang mata uang kripto untuk pembuat konten. Namun, jika Anda menggunakannya dengan benar, kemungkinannya tidak terbatas. Sebagai permulaan, Anda dapat meminta persetujuan kepada pemirsa sebelum memulai JavaScript. Setidaknya beri tahu mereka bahwa penambangan JavaScript diimplementasikan dan berapa persentase CPU yang ditetapkan untuk penambangan. Bagi saya, saya menyediakan interface yang memungkinkan pemirsa untuk memulai dan menghentikan penambangan sesuai keinginan mereka dan berapa banyak penggunaan CPU yang akan mereka kontribusikan. Contoh inovasi dalam mengakses konten premium adalah jika mereka tidak ingin mendonasikan uang, mereka dapat mendonasikan penggunaan CPU dalam beberapa waktu atau sejumlah kekuatan hash sebagai metode pembayaran untuk konten premium. Ini juga dapat digunakan sebagai metode donasi dimana misalnya jumlah kekuatan hash yang mereka kontribusikan dicatat dan ditampilkan.

Sebagian besar metode monetisasi memerlukan fungsi dan mengizinkan JavaScript. Monetisasi ini tidak akan berfungsi misalnya pada Facebook, Twitter, dan Medium. Berikut beberapa platform blog yang mengizinkan JavaScript:

Juga beberapa editor kode online:

Produk Kripto yang Pernah Disebut

publish0x earning

Ada banyak platform saat ini yang tidak mengharuskan Anda untuk mengonfigurasi monetisasi Anda sendiri. Mereka menanganinya untuk Anda di mana yang harus Anda lakukan hanyalah fokus pada pembuatan konten Anda. Dalam subbagian ini adalah produk yang telah saya sebutkan di mana sebelumnya saya hanya menyatakan bahwa Anda diberi hadiah mata uang kripto sebagai pembaca. Anda juga harus tahu bahwa pembuat konten juga dihadiahi:

hive

Produk Kripto yang Belum Pernah Disebut

Dalam subbagian ini adalah produk bertenaga kripto yang belum saya sebutkan karena mereka hanya memberi hadiah kepada pembuat konten saja dan bukan pemirsa:

Read Cash
readcash

Read.cash adalah platform lain yang membayar penulis dalam mata uang kripto. Saat ini, mereka menyatakan dengan jelas bahwa mereka tidak berniat menyimpan konten pada blockchain dan melawan sensor bukan lingkup mereka. Mereka membenci penyensoran tetapi mereka hanya ingin fokus pada pemberian penghargaan kepada pembuat konten. Bentuk penghargaan mereka dalam Bitcoin Cash karena dirancang untuk biaya transaksi yang rendah. Bergabunglah sekarang di https://read.cash/r/FajarPurnama.

DLive
dlive

Seperti platform video kripto lainnya tetapi hanya berfokus pada video live (siaran langsung). Penyiar diberi tip dengan Lino, Lemon, dll. Gabung sekarang di https://dlive.tv?ref=fajar.purnama.

Bitchute
bitchute

Salah satu platform video crypto paling awal yang melawan sensor. Monetisasi akan segera hadir, tetapi pembuat konten masih bisa mendapatkan penghasilan melalui donasi. Bergabunglah sekarang di https://www.bitchute.com/accounts/referral/0fajarpurnama0.

Referral atau Tautan

Cryptotab MLR

Jika Anda menyadari bahwa di akhir setiap subbagian, saya membagikan tautan rujukan saya ke masing-masing produk tersebut. Jika Anda menggunakan tautan itu, saya akan mendapat komisi dalam mata uang kripto. Benar, di zaman ini, staf penjualan tidak hanya mereka yang berpakaian bagus yang membagikan brosur. Siapa pun dapat menjadi staf penjualan mandiri atau lepas dengan membagikan tautan rujukan yang disediakan oleh penyedia. Terutama dengan mata uang kripto, penyedia dapat menghasilkan koin atau token sebelum memiliki nilai apa pun dan sistem tanpa batas dan tanpa izin memungkinkan untuk mendistribusikan hadiah dengan cepat kepada staf penjualan. Menurut saya, karena banyak produk yang bisa direferensikan, lebih baik buat prioritas, dan sebagai pembuat konten prioritas produk yang direferensikan sesuai dengan preferensi saya adalah (1) demand, (2) deal, (3) profit , dan (4) lainnya.

Produk yang Diminta

Produk yang diminta menurut definisi saya adalah produk yang berpotensi dibutuhkan dan berguna bagi pelanggan. Contoh produk potensial yang diminta adalah:

  • Ketika orang bertanya kepada saya di mana saya bisa membeli mata uang kripto, saya mengarahkan mereka ke Indodax untuk pengguna di Indonesia yang merupakan bursa mata uang kripto terpopuler di tanah air dan jika mereka bergabung menggunakan link ini https://indodax.com/ref/0fajarpurnama0/1, saya akan menanggung 25% dari biaya perdagangan mereka selama 3 bulan. Bagi mereka yang berada di Jepang, saya mengarahkan mereka ke BTCBOX dan jika mereka memasukkan HNRCWSLFLF, kita semua akan mendapatkan masing-masing JPY 500.
  • Ketika orang Indonesia bertanya kepada saya tentang cara menjual mata uang kripto mereka dan cara menariknya ke bank, saya mengarahkan mereka ke Tokocrypto untuk pengguna desktop, dan Pintu (masukan FAJAR199) untuk pengguna seluler karena mereka memiliki biaya penarikan tetap yang rendah yaitu Rupiah (IDR) 5000 sekitar $ 0.4. Jika mereka menggunakan link Tokocrypto https://app.tokocrypto.com/referral/fajarpurnama, kita masing-masing akan mendapatkan TKO 75, dan jika mereka gunakan kode pintu saya FAJAR199, kita masing-masing akan mendapatkan hadiah acak mulai dari IDR 5000 - 1000000.

Contoh produk yang berpotensi berguna tetapi belum tentu diminta adalah:

Penawaran

Penawaran adalah tautan rujukan yang tidak hanya menguntungkan para pengundang tetapi juga para undangan. Dengan kata lain, lebih menguntungkan untuk membeli, berlangganan, atau mendaftar produk menggunakan link referral daripada dengan cara biasa. Pergi ke https://0fajarpurnama0.github.io/deals untuk melihat penawaran saya lainnya, beberapa contohnya adalah:

Produk Menguntungkan

Bukan deal karena hanya menguntungkan bagi para pengundang yang bagi saya bisa berupa satu kali jumlah reward, sistem rujukan multi level, dan sistem rujukan kreatif.

Jumlah Hadiah Satu Kali

Tautan referensi satu kali jumlah hadiah tertinggi saya berikutnya setelah crypto.com, Bybit, dan Phemex, adalah Coinbase Earn di mana setiap tautan https://coinbase.com/earn/eos/invite/hzd43p0x, https://coinbase.com/earn/xlm/invite/8m2p5nx6 akan memberi saya hadiah hingga $40 dan mereka akan mendapatkan kripto untuk belajar dimana saya mengumpulkan $50 hanya dalam satu jam.

Sistem Rujukan Bertingkat

Yang berikutnya adalah sistem referral multi level, jika Anda tahu istilah multi level marketing, di situlah jika orang yang saya undang mengundang lebih banyak orang, saya juga mendapat komisi. Tiga produk yang saya temukan memiliki sistem rujukan bertingkat adalah Cryptotab Browser (https://cryptotabbrowser.com/landing/67/2016839/?p=spring21), Cash Magnet(http://cashmagnetapp.com/?refId=eYYAIF), dan Switchhere (https://switchere.com/?r=1b0vgf09b0yr).

Sistem Referensi Kreatif

Tautan rujukan lain yang menyenangkan untuk dibagikan adalah tautan rujukan kreatif. Sebagai contoh Publish0x memberi saya identifikasi refferal unik (ID) dari "?a=4oeEw0Yb0B" di mana saya dapat melampirkan ke link Publish0x mana saja untuk merujuk ke seseorang untuk menerima komisi meskipun itu bukan artikel saya. Misalnya, jika saya menemukan artikel yang menarik, saya dapat membagikannya ke teman-teman saya atau memposting ke media sosial sambil melampirkan ID referral saya ke tautan artikel, dan jika seseorang mendaftar menggunakan tautan itu, saya akan mendapat komisi. Fitur ini juga disediakan oleh read.cash, Steemit, Hive Blog, dan Blurt.

Pembuatan Konten + Rujukan Online

Seperti yang saya katakan sebelumnya, dengan rujukan online, kita tidak harus mengenakan jas mewah dan berbicara manis sambil bertatap muka. Kita bisa menggunakan platform iklan online atau bahkan hanya memposting di media sosial kita. Jika Anda seorang pembuat konten, Anda dapat menulis artikel, membuat podcast, dan membuat video yang berkaitan dengan produk dan memasukkan hyperlink rujukan di dalamnya. Dengan cara ini, Anda dapat melakukan pemasaran afiliasi sambil menambahkan konten di platform Anda untuk mendapatkan lebih banyak tampilan untuk meningkatkan monetisasi Anda. Bab ini sendiri adalah contoh di mana saya menulis buku online dan memiliki tautan rujukan di dalamnya berharap mendapatkan pelanggan. Jika Anda berpikir lebih jauh, Anda bahkan dapat membuat iklan Anda sendiri dengan membuat gambar hyperlink dimana Anda membuat gambar atau animasi yang dapat menarik pengunjung ke link referral Anda dan meminta mereka mengklik gambar tersebut dan mendaftar. Perhatikan bahwa Anda akan menjadi pengiklan langsung dimana Anda hanya mendapatkan pendapatan jika pemirsa mendaftar ke tautan referensi Anda tidak seperti menjadi penerbit di adsense.

Hampir Koin Gratis

freebitco.in spin

Ada situs yang perlu Anda lakukan adalah hanya mengunjunginya dan Anda akan mendapatkan hadiah berupa koin untuk melakukannya. Mereka menyebutnya keran (faucet) koin karena diilustrasikan seperti membuka keran untuk mendapatkan setetes air, di mana yand Anda dapat buka setetes air tetapi koin. Meskipun interval kunjungan bervariasi dari situs ke situs, kebanyakan dari mereka memberi penghargaan kepada Anda untuk mengunjungi setiap jam dan kebanyakan dari mereka dalam bentuk mesin slot keberuntungan di mana Anda mendapatkan peluang yang sangat kecil untuk menang besar misalnya hingga $100. Selain Cointiply, ini faucet favorit saya:

Keran aktif dimana mereka aktif di Twitter:

Saya memiliki lebih banyak daftar di https://0darkking0.blogspot.com/2019/07/my-cryptocurrency-faucet-list-free-coins.html. Nah, jika Anda hanya mendapatkan koin gratis maka tidak masalah tetapi hati-hati jika Anda berencana untuk menyetor beberapa koin untuk berjudi atau apa pun karena ada banyak penipuan. Judul bagian ini akan menutup bab ini karena disebut "koin hampir gratis". Tidak hanya faucet ini, tetapi semua yang saya sebutkan di sini menurut saya hampir koin gratis. Jika itu tidak membebani Anda listrik dan Internet, paling tidak itu membebani waktu Anda. Pertanyaan apakah semua ini bisa menjadi pekerjaan utama masih dalam perdebatan dan penelitian. Namun, semua ini masih memberikan peluang bagi mereka yang hanya ingin mendapatkan koin dalam jumlah sangat kecil yang tidak memungkinkan dengan membeli.

Mirrors