IoT Base Platform with RaspberryPi, WIZ850io : Ethernet Module Driver

​I know RaspberryPi platform for IoT. Recently WIZ850io is announced by WIZnet. So I implemented a RaspberryPi application by Ethernet SW modification because I can handle a source code easily. You can test Ethernet Module Driver through RaspberryPi and WIZ850io. Please refer to the following step.

Step 1: Prepare Materials

Please refer to the following.

1. Raspberry Pi 3 Starter Kit

2. WIZ850io

3. UART2USB adapter

4. LAN cable

5. USB cable

Step 2: Hardware Connection

Please connect an USB, LAN cable, WIZ850io and UART2USB adapter.
You can get more HW info by the following site.

​https://pinout.xyz/pinout/spi 

​http://wizwiki.net/wiki/doku.php?id=products:wiz850io:start

Step 3: Prepare Development Environment

Raspberry Pi 3

https://www.raspberrypi.org/documentation/

https://www.raspberrypi.org/documentation/linux/kernel/building.md

Step 4: Software

Linux Kernel : WIZnet Ethernet Module Driver for W5500

https://github.com/borg42/w5x00

Step 5: How to Run : Modification

I modified the source code to fit Raspberry Pi.

w5x00-master.tar

Step 6: How to Run : Result

I copied w5x00 module into Raspberry Pi.

loopback.tar

IoT Base Platform with GCC, Eclipse, WIZwiki-W7500 : Serial to Ethernet

I know WIZwiki-W7500 platform for IoT. Recently WIZwiki-W7500 board is announced by WIZnet. So I implemented a firmware of WIZwiki-W7500 board by Ethernet SW modification because I can handle a source code easily. You can know the status of equipment even if it is so far. If you want to know how to use S2E(Serial to Ethernet) function, please refer to the following step.

Step 1: Prepare Materials, Hardware Connection, Prepare Development Environment

Please refer to the link below.

https://www.instructables.com/id/IoT-Base-Platform-With-GCC-WIZwiki-W7500/

http://opensrclab.tistory.com/50

I prepared GCC development environment by the following site.

http://opensrclab.tistory.com/33 

I installed GNU Toolchain, Java JDK, Eclipse, Cygwin.

If you install all tools, you are ready for running this project.

You can use a Configuration Tool by the following temporarily.

http://wizwiki.net/wiki/lib/exe/fetch.php?media=products:wiz550s2e:wiz550s2e_configuration_tool_ver1.03beta_20151005.zip

How to use a CFG tool : http://wizwiki.net/wiki/doku.php?id=products:wiz550s2e:wiz550s2epg_en#configuration_tool

Step 2: Software 

https://github.com/bingdo/IIoT_WIZwiki-W7500_Eclipse

Step 3: Software : S2E(Serial to Ethernet)

Insert MAC address.

Modify IP, Port, Working Mode.

To test operation of S2E function.

Step 4: How to Run : Modification

Modify common.h

#define F_ENABLE_DHT11
#define F_ENABLE_TCPClient

Step 5: How to Run : Result

IoT Base Platform with arm MBED, WIZwiki-W7500 : EchoServer

I know arm MBED platform for IoT. Recently WIZwiki-W7500 board is announced by WIZnet. So I implemented a firmware of WIZwiki-W7500 board by Ethernet SW modification because I can handle a source code easily. You can understand how to use arm MBED platform. Please refer to the following step.

Step 1: Prepare Materials, Hardware Connection

Please refer to the link below.

https://www.instructables.com/id/IoT-Base-Platform-With-GCC-WIZwiki-W7500/

http://opensrclab.tistory.com/50

Step 2: Prepare Development Environment

Do you know arm MBED platform?

https://developer.mbed.org/handbook/Homepage

Step 3: Software : EchoServer

​EchoServer Example

https://developer.mbed.org/teams/WIZnet/code/TCPEchoServer-WIZwiki-W7500/?platform=WIZwiki-W7500

Step 4: How to Run : Preparation

Refer to the arm MBED link. https://www.mbed.com/en/

To create your account. https://developer.mbed.org/

To open cloud development environment.

Import Programs or Libraries.

Import mbed_blinky project.

Modify LED pins.

mbed_blinky_WIZWIKI_W7500.bin

Step 5: How to Run : Result

Import TCPEchoServer-WIZwiki-W7500 project.

https://developer.mbed.org/teams/WIZnet/code/TCPEchoServer-WIZwiki-W7500/?platform=WIZwiki-W7500

Modify MAC address.

Monitor Debugging COM Port.

IoT Base Platform with GCC, WIZwiki-W7500 : MQTT

I know WIZwiki-W7500 platform for IoT. Recently WIZwiki-W7500 board is announced by WIZnet. So I implemented a firmware of WIZwiki-W7500 board by Ethernet SW modification because I can handle a source code easily. You can know the status of equipment even if it is so far. If you want to know how to use MQTT protocol, please refer to the following step.

Step 1: Prepare Materials, Hardware Connection, Prepare Development Environment

Please refer to the link below.

https://www.instructables.com/id/IoT-Base-Platform-With-GCC-WIZwiki-W7500/

http://opensrclab.tistory.com/50

Step 2: Software

MQTT Example

​I uploaded source code. You can download this 7zip file.

After compile, you can send sensor data to Thing+ cloud server.

W7500_MQTT.7z

Step 3: How to Run : Preparation

To the following steps.

http://support.thingplus.net/en/open-hardware/arduino-noSSL-user-guide.html

Step 4: How to Run : Modification

To must modify MAC address, MQTT parameters in firmware code.

Step 5: How to Run : Result

To check the result of Dashboard through Thing+ Server.

IoT Base Platform with RaspberryPi, WIZ850io : Echoback Application

​I know RaspberryPi platform for IoT. Recently WIZ850io is announced by WIZnet. So I implemented a RaspberryPi application by Ethernet SW modification because I can handle a source code easily. You can test the echoback application through RaspberryPi and WIZ850io. Please refer to the following step.

Step 1: Prepare Materials

Please refer to the following.

1. Raspberry Pi 3 Starter Kit

2. WIZ850io

3. UART2USB adapter

4. LAN cable

5. USB cable

Step 2: Hardware Connection

Please connect an USB, LAN cable, WIZ850io and UART2USB adapter.
You can get more HW info by the following site.

​https://pinout.xyz/pinout/spi 

​http://wizwiki.net/wiki/doku.php?id=products:wiz850io:start

Step 3: Prepare Development Environment

Raspberry Pi 3

https://www.raspberrypi.org/downloads/raspbian/

WiringPi Library

http://wiringpi.com/download-and-install/

Step 4: Software

WIZ850io ​ioLibrary

https://github.com/Wiznet/ioLibrary_Driver

Step 5: How to Run : Modification

Step 6: How to Run : Result


IoT Base Platform with GCC, WIZwiki-W7500

I know WIZwiki-W7500 platform for IoT. Recently WIZwiki-W7500 board is announced by WIZnet. So I implemented a firmware of WIZwiki-W7500 board by Ethernet SW modification because I can handle a source code easily. You can know the status of equipment even if it is so far. Please refer to the following step.

Step 1: Prepare Materials

Please refer to the following.

1. WIZwiki-W7500 board 

2. Easy Module shield 

3. UART2USB adapter 

4. LAN cable 

5. USB cable

Step 2: Hardware Connection

Please connect an USB, LAN cable, Easy shield and UART2USB adapter.

You can get more HW info by the following site.

http://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start

Step 3: Prepare Development Environment

Currently I use gcc-arm-none-eabi-6-2017-q1-update version.

Refer to http://opensrclab.tistory.com/33 for GCC install.

Step 4: Software

NTP Example

W7500_NTP.7z

DHT11 Temperature Example

To be continued.

To use WIZ550io in Arduino platform : Arduino UNO

I know Arduino platform for IoT. So I implemented a firmware of Arduino by Ethernet SW modification because I can handle a source code easily. You can know the status of equipment even if it is so far. Please refer to the following step.

Reference : https://forum.wiznet.io/t/Wiz550io-Arduino-due-Mysqlconnector-arduino-ide/3348

Step 1: Prepare Materials

Please refer to the following.

1. Arduino UNO

2. WIZ550io or ioShield-A

3. LAN cable

4. USB cable

Step 2: Hardware Connection

Please connect an LAN cable and USB cable

You can get more HW info by the following site.

https://www.arduino.cc/en/Main/ArduinoBoardUno

http://wizwiki.net/wiki/doku.php?id=products:wiz550io:start

First of all, prepare Arduino UNO and WIZ550io module.

Connect Arduino UNO and WIZ550io module like below.

Arduino UNO pin<->WIZ55io pin

3.3V<->3V3D

GND<->GND

13<->SCLK

12<->MISO

11<->MOSI

10<->SCSn

RESET<->RSTn

I recommand to use ioShield-A.

Step 3: Prepare Development Environment

https://www.arduino.cc/en/Guide/HomePage

Step 4: Software

I uploaded Arduino project. You can download this project file. And then import project into Arduino IDE.

After compile, you can execute a sample of WebServer.

WebServer.zip

Step 5: How to Run : Modification

Execute Arduino IDE.
Select Arduino IDE Menubar->Sketch->Include Library->Mange Libraries...
Search Ethernet2 library by string.
Install Ethernet2 library.

Find w5500.h, w5500.cpp
Windows OS
C:\Users\your username\Documents\Adruino\libraries\Ethernet2\utility\
Linux
/home/your username/Arduino/libraries/Ethernet2/src/utility/

Insert the following code in w5500.h

...
#define WIZ550ioWITH_MACADDRESS
...

Insert the following code in w5500.cpp

...
#if !defined(WIZ550ioWITH_MACADDRESS)
w5500.swReset();
#endif
...

For example, you can modify Ethernet.begin function of WebServer code without mac parameter.
Compile and upload by Arduino IDE.

Step 6: How to Run : Result


Contents

-. Build : WizFi630A 개발환경 구축

-. Upgrade : TFTP 활용


Upgrade : TFTP 활용

WizFi630A in OpenWrt

>> 참조 링크

https://wiki.openwrt.org/toh/wiznet/wiznet_wizfi630a

>> tftp 설치

>> /etc/xinetd.d/tftp 파일 생성 및 수정

>> tftp root 디렉토리 생성 및 서비스 실행

>> Upgrade binary 복사


>> Upgrade log

U-Boot 1.1.3 (Mar  1 2016 - 13:35:45)                                           

                                                                                

Board: Ralink APSoC DRAM:                                                       

 Return Real size =33554432 !!                                                  

32 MB                                                                           

relocate_code Pointer at: 81fb4000                                              

******************************                                                  

Software System Reset Occurred                                                  

******************************                                                  

spi_wait_nsec: 21                                                               

spi device id: ef 40 18 0 0 (40180000)                                          

find flash: W25Q128FV                                                           

raspi_read: from:30000 len:1000                                                 

.raspi_read: from:30000 len:1000                                                

.============================================                                   

Ralink UBoot Version: 3.5.0.0                                                   

--------------------------------------------                                    

ASIC 5350_MP (Port5<->None)                                                     

DRAM_CONF_FROM: Boot-Strapping                                                  

DRAM_TYPE: SDRAM                                                                

DRAM_SIZE: 256 Mbits                                                            

DRAM_WIDTH: 16 bits                                                             

DRAM_TOTAL_WIDTH: 16 bits                                                       

TOTAL_MEMORY_SIZE: 32 MBytes                                                    

Flash component: SPI Flash                                                      

Date:Mar  1 2016  Time:13:35:45                                                 

============================================                                    

icache: sets:256, ways:4, linesz:32 ,total:32768                                

dcache: sets:128, ways:4, linesz:32 ,total:16384                                

                                                                                

 ##### The CPU freq = 360 MHZ ####                                              

 estimate memory size =32 Mbytes                                                

                                                                                

Please choose the operation:                                                    

   1: Load system code to SDRAM via TFTP.                                       

   2: Load system code then write to Flash via TFTP.                            

   3: Boot system code via Flash (default).                                     

   4: Entr boot command line interface.                                         

   7: Load Boot Loader code then write to Flash via Serial.                     

   9: Load Boot Loader code then write to Flash via TFTP.                       

                                                                                

You choosed 2  <<= 2번선택                                                                   

                                                                                

 0                                                                              

raspi_read: from:40028 len:6                                                    

.                                                                               

                                                                                

2: System Load Linux Kernel then write to Flash via TFTP.                       

 Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)           

 Please Input new ones /or Ctrl-C to discard                                    

        Input device IP (10.10.10.123) ==:192.168.0.20  <<= 임의 IP 할당                          

        Input server IP (10.10.10.3) ==:192.168.0.2  <<= tftp서버 IP 입력                                

        Input Linux Kernel filename () ==:wizfi630a.bin  <<= 복사된 binary 파일명 입력                         

                                                                                

 netboot_common, argc= 3                                                        

                                                                                

 NetTxPacket = 0x81FE5F40                                                       

                                                                                

 KSEG1ADDR(NetTxPacket) = 0xA1FE5F40                                            

                                                                                

 NetLoop,call eth_halt !                                                        

                                                                                

 NetLoop,call eth_init !                                                        

Trying Eth0 (10/100-M)                                                          

                                                                                

 Waitting for RX_DMA_BUSY status Start... done                                  

                                                                                

                                                                                

 Header Payload scatter function is Disable !!                                  

                                                                                

 ETH_STATE_ACTIVE!!                                                             

Using Eth0 (10/100-M) device                                                    

TFTP from server 192.168.0.2; our IP address is 192.168.0.20                    

Filename 'wizfi630a.bin'.                                                       

                                                                                

 TIMEOUT_COUNT=10,Load address: 0x80100000                                      

Loading: *                                                                      

ArpTimeoutCheck                                                                 

T T T T Got ARP REPLY, set server/gtwy eth addr (bc:5f:f4:da:9c:bb)             

Got it                                                                          

#################################################################               

         #################################################################      

         #################################################################      

         #################################################################      

         #################################################################      

         #################################################################      

         #################################################################      

         #################################################################      

         #################################################################      

         #################################################################      

         #################################################################      

         #################################################################      

         ########################################                               

done                                                                            

Bytes transferred = 4194308 (400004 hex)                                        

NetBootFileXferSize= 00400004                                                   

raspi_erase_write: offs:50000, count:400004                                     

raspi_erase: offs:50000 len:400000                                              

................................................................                

raspi_write: to:50000 len:400000                                                

................................................................                

raspi_read: from:50000 len:10000                                                

.raspi_read: from:60000 len:10000                                               

.raspi_read: from:70000 len:10000                                               

.raspi_read: from:80000 len:10000                                               

.raspi_read: from:90000 len:10000                                               

.raspi_read: from:a0000 len:10000                                               

.raspi_read: from:b0000 len:10000                                               

.raspi_read: from:c0000 len:10000                                               

.raspi_read: from:d0000 len:10000                                               

.raspi_read: from:e0000 len:10000                                               

.raspi_read: from:f0000 len:10000                                               

.raspi_read: from:100000 len:10000                                              

.raspi_read: from:110000 len:10000                                              

.raspi_read: from:120000 len:10000                                              

.raspi_read: from:130000 len:10000                                              

.raspi_read: from:140000 len:10000                                              

.raspi_read: from:150000 len:10000                                              

.raspi_read: from:160000 len:10000                                              

.raspi_read: from:170000 len:10000                                              

.raspi_read: from:180000 len:10000                                              

.raspi_read: from:190000 len:10000                                              

.raspi_read: from:1a0000 len:10000                                              

.raspi_read: from:1b0000 len:10000                                              

.raspi_read: from:1c0000 len:10000                                              

.raspi_read: from:1d0000 len:10000                                              

.raspi_read: from:1e0000 len:10000                                              

.raspi_read: from:1f0000 len:10000                                              

.raspi_read: from:200000 len:10000                                              

.raspi_read: from:210000 len:10000                                              

.raspi_read: from:220000 len:10000                                              

.raspi_read: from:230000 len:10000                                              

.raspi_read: from:240000 len:10000                                              

.raspi_read: from:250000 len:10000                                              

.raspi_read: from:260000 len:10000                                              

.raspi_read: from:270000 len:10000                                              

.raspi_read: from:280000 len:10000                                              

.raspi_read: from:290000 len:10000                                              

.raspi_read: from:2a0000 len:10000                                              

.raspi_read: from:2b0000 len:10000                                              

.raspi_read: from:2c0000 len:10000                                              

.raspi_read: from:2d0000 len:10000                                              

.raspi_read: from:2e0000 len:10000                                              

.raspi_read: from:2f0000 len:10000                                              

.raspi_read: from:300000 len:10000                                              

.raspi_read: from:310000 len:10000                                              

.raspi_read: from:320000 len:10000                                              

.raspi_read: from:330000 len:10000                                              

.raspi_read: from:340000 len:10000                                              

.raspi_read: from:350000 len:10000                                              

.raspi_read: from:360000 len:10000                                              

.raspi_read: from:370000 len:10000                                              

.raspi_read: from:380000 len:10000                                              

.raspi_read: from:390000 len:10000                                              

.raspi_read: from:3a0000 len:10000                                              

.raspi_read: from:3b0000 len:10000                                              

.raspi_read: from:3c0000 len:10000                                              

.raspi_read: from:3d0000 len:10000                                              

.raspi_read: from:3e0000 len:10000                                              

.raspi_read: from:3f0000 len:10000                                              

.raspi_read: from:400000 len:10000                                              

.raspi_read: from:410000 len:10000                                              

.raspi_read: from:420000 len:10000                                              

.raspi_read: from:430000 len:10000                                              

.raspi_read: from:440000 len:10000                                              

.raspi_read: from:450000 len:10000                                              

.raspi_erase: offs:450000 len:10000                                             

.                                                                               

raspi_write: to:450000 len:10000                                                

.                                                                               

raspi_read: from:450000 len:10000                                               

.Done!                                                                          

## Booting image at bc050000 ...                                                

raspi_read: from:50000 len:40                                                   

.   Image Name:   MIPS OpenWrt Linux-4.4.14                                     

   Created:      2017-05-24  14:54:37 UTC                                       

   Image Type:   MIPS Linux Kernel Image (lzma compressed)                      

   Data Size:    1216606 Bytes =  1.2 MB                                        

   Load Address: 80000000                                                       

   Entry Point:  80000000                                                       

raspi_read: from:50040 len:12905e                                               

...................   Verifying Checksum ... OK                                 

   Uncompressing Kernel Image ... OK                                            

No initrd                                                                       

## Transferring control to Linux (at address 80000000) ...                      

## Giving linux memsize in MB, 32                                               

linux_argv[0] = <NULL>                                                          

linux_env = �7�����7��7��7��7�                                             

                                                                                

Starting kernel ...                                                             

                                                                                

[    0.000000] Linux version 4.4.14 (bingdo@bingdo-desktop) (gcc version 5.3.0 7

[    0.000000] SoC Type: Ralink RT5350 id:1 rev:3                               

[    0.000000] bootconsole [early0] enabled                                     

[    0.000000] CPU0 revision is: 0001964c (MIPS 24KEc)                          

[    0.000000] MIPS: machine is WIZnet WizFi630A                                

[    0.000000] Determined physical RAM map:                                     

[    0.000000]  memory: 02000000 @ 00000000 (usable)                            

[    0.000000] Initrd not found or empty - disabling initrd                     

[    0.000000] Zone ranges:                                                     

[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000001ffffff]           

[    0.000000] Movable zone start for each node                                 

[    0.000000] Early memory node ranges                                         

[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000001ffffff]          

[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000001ffffff] 

[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.  

[    0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bys

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pa8

[    0.000000] Kernel command line: console=ttyS1,115200 rootfstype=squashfs,jf2

[    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)               

[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)    

[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)      

[    0.000000] Writing ErrCtl register=00001fd0                                 

[    0.000000] Readback ErrCtl register=00001fd0                                

[    0.000000] Memory: 28488K/32768K available (2751K kernel code, 125K rwdata,)

[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1       

[    0.000000] NR_IRQS:256                                                      

[    0.000000] CPU Clock: 360MHz                                                

[    0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_s

[    0.000000] systick: running - mult: 214748, shift: 32                       

[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_s

[    0.000016] sched_clock: 32 bits at 180MHz, resolution 5ns, wraps every 1193s

[    0.007697] Calibrating delay loop... 239.61 BogoMIPS (lpj=1198080)          

[    0.080250] pid_max: default: 32768 minimum: 301                             

[    0.084964] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)      

[    0.091394] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) 

[    0.107822] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ms

[    0.117766] pinctrl core: initialized pinctrl subsystem                      

[    0.124158] NET: Registered protocol family 16                               

[    0.172470] rt2880_gpio 10000600.gpio: registering 22 gpios                  

[    0.177905] rt2880_gpio 10000600.gpio: registering 22 irq handlers           

[    0.184411] rt2880_gpio 10000660.gpio: registering 6 gpios                   

[    0.189744] rt2880_gpio 10000660.gpio: registering 6 irq handlers            

[    0.198693] clocksource: Switched to clocksource MIPS                        

[    0.206356] NET: Registered protocol family 2                                

[    0.212343] TCP established hash table entries: 1024 (order: 0, 4096 bytes)  

[    0.219234] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)         

[    0.225384] TCP: Hash tables configured (established 1024 bind 1024)         

[    0.231857] UDP hash table entries: 256 (order: 0, 4096 bytes)               

[    0.237520] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)          

[    0.244274] NET: Registered protocol family 1                                

[    0.249568] rt-timer 10000100.timer: maximum frequency is 3662Hz             

[    0.257280] futex hash table entries: 256 (order: -1, 3072 bytes)            

[    0.308059] squashfs: version 4.0 (2009/01/31) Phillip Lougher               

[    0.313856] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORI.

[    0.330225] io scheduler noop registered                                     

[    0.334010] io scheduler deadline registered (default)                       

[    0.339600] ralink-usb-phy usbphy: invalid resource                          

[    0.345128] gpio-export gpio-export: 0 gpio(s) exported                      

[    0.350846] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled         

[    0.359634] 10000500.uart: ttyS0 at MMIO 0x10000500 (irq = 13, base_baud = 23

[    0.370336] console [ttyS1] disabled                                         

[    0.373835] 10000c00.uartlite: ttyS1 at MMIO 0x10000c00 (irq = 20, base_baud3

[    0.383580] console [ttyS1] enabled                                          

[    0.383580] console [ttyS1] enabled                                          

[    0.390681] bootconsole [early0] disabled                                    

[    0.390681] bootconsole [early0] disabled                                    

[    0.409919] spi spi0.0: force spi mode3                                      

[    0.414730] m25p80 spi0.0: w25q128 (16384 Kbytes)                            

[    0.419732] 4 ofpart partitions found on MTD device spi0.0                   

[    0.425341] Creating 4 MTD partitions on "spi0.0":                           

[    0.430301] 0x000000000000-0x000000030000 : "uboot"                          

[    0.439213] 0x000000030000-0x000000040000 : "uboot-env"                      

[    0.448455] 0x000000040000-0x000000050000 : "factory"                        

[    0.457685] 0x000000050000-0x000001000000 : "firmware"                       

[    0.544317] 2 uimage-fw partitions found on MTD device firmware              

[    0.550504] 0x000000050000-0x00000017909e : "kernel"                         

[    0.559061] 0x00000017909e-0x000001000000 : "rootfs"                         

[    0.568034] mtd: device 5 (rootfs) set to be root filesystem                 

[    0.574143] 1 squashfs-split partitions found on MTD device rootfs           

[    0.580560] 0x000000440000-0x000001000000 : "rootfs_data"                    

[    0.595952] rt3050-esw 10110000.esw: link changed 0x00                       

[    0.605040] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb5

[    0.614744] rt2880_wdt 10000120.watchdog: Initialized                        

[    0.622927] NET: Registered protocol family 10                               

[    0.635855] NET: Registered protocol family 17                               

[    0.640790] bridge: automatic filtering via arp/ip/ip6tables has been deprec.

[    0.653831] 8021q: 802.1Q VLAN Support v1.8                                  

[    0.676668] VFS: Mounted root (squashfs filesystem) readonly on device 31:5. 

[    0.685944] Freeing unused kernel memory: 180K (80373000 - 803a0000)         

[    3.086112] init: Console is alive                                           

[    3.090385] init: - watchdog -                                               

[    5.267686] usbcore: registered new interface driver usbfs                   

[    5.273678] usbcore: registered new interface driver hub                     

[    5.279483] usbcore: registered new device driver usb                        

[    5.296553] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver       

[    5.306132] ehci-platform: EHCI generic platform driver                      

[    5.322256] phy phy-usbphy.0: remote usb device wakeup disabled              

[    5.328333] phy phy-usbphy.0: UTMI 16bit 30MHz                               

[    5.332995] ehci-platform 101c0000.ehci: EHCI Host Controller                

[    5.339032] ehci-platform 101c0000.ehci: new USB bus registered, assigned bu1

[    5.347391] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000           

[    5.368833] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00          

[    5.377718] hub 1-0:1.0: USB hub found                                       

[    5.382540] hub 1-0:1.0: 1 port detected                                     

[    5.397544] init: - preinit -                                                

[    6.496392] rt3050-esw 10110000.esw: link changed 0x00                       

Press the [f] key and hit [enter] to enter failsafe mode                        

Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level    

[    6.827233] random: procd urandom read with 11 bits of entropy available     

[    8.136889] rt3050-esw 10110000.esw: link changed 0x02                       

[   10.217278] mount_root: jffs2 not ready yet, using temporary tmpfs overlay   

[   10.275670] procd: - early -                                                 

[   10.279068] procd: - watchdog -                                              

[   11.380848] procd: - ubus -                                                  

[   11.440191] procd: - init -                                                  

Please press Enter to activate this console.                                    

[   12.710961] ip6_tables: (C) 2000-2006 Netfilter Core Team                    

[   12.744086] Loading modules backported from Linux version wt-2016-05-12-0-g76

[   12.751976] Backport generated by backports.git backports-20160216-0-ge3c56e4

[   12.767462] ip_tables: (C) 2000-2006 Netfilter Core Team                     

[   12.792994] nf_conntrack version 0.5.0 (447 buckets, 1788 max)               

[   12.869623] xt_time: kernel timezone is -0000                                

[   12.982450] PPP generic driver version 2.4.2                                 

[   12.993168] NET: Registered protocol family 24                               

[   13.050600] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5350, rev 0500 d

[   13.058559] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 5350 detected   

[   21.372585] rt3050-esw 10110000.esw: link changed 0x00                       

[   22.989706] rt3050-esw 10110000.esw: link changed 0x02                       

[   31.880146] device eth0.1 entered promiscuous mode                           

[   31.885078] device eth0 entered promiscuous mode                             

[   31.921814] br-lan: port 1(eth0.1) entered forwarding state                  

[   31.927623] br-lan: port 1(eth0.1) entered forwarding state                  

[   33.918775] br-lan: port 1(eth0.1) entered forwarding state                  

[   58.161822] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0   

[   58.179218] jffs2_build_filesystem(): unlocking the mtd device... done.      

[   58.186007] jffs2_build_filesystem(): erasing all blocks after the end marke 

[   79.588798] random: nonblocking pool is initialized



Contents

-. Build : WizFi630A 개발환경 구축

-. Upgrade : TFTP 활용


Build : WizFi630A 개발환경 구축

WizFi630A in OpenWrt

>> 참조 링크

https://wiki.openwrt.org/toh/wiznet/wiznet_wizfi630a

WizFi630A in WIZnet

>> 참조 링크

http://wizwiki.net/wiki/doku.php?id=products:wizfi630a:start


라이브러리 설치 in Ubuntu

>> Ubuntu 16.04 사용

>> 소스 코드 다운로드

>> 추가 패키지 다운로드

>> Config 설정

>> Target System / Subtarget / Target Profile / LuCi 등 필요한 Config 설정

>> pre-build

>> build

>> binary 확인


Introduction

IoT 세상에서 DIY Maker들은 자신이 만든 디바이스나 작품들이 어떻게든 외부와 연결되기를 바랄 것이다. 필자 또한 항상 프로젝트를 진행할 때 인터넷을 사용할 수 있게 즉, 연결성에 중점을 두곤 한다.

하지만 DIY Maker들에게 외부 연결성을 고려할 만큼 전문성이 없는 경우가 많을 것이다. 간단한 작업으로 이런 문제를 해결할 수 있다면 금상첨화가 아닐까 한다.

WIZ820io는 이런 문제를 해결하기 위한 여러 방편 중 하나이다. 손쉬운 Ethernet solution을 제공하니 한 번쯤 사용해 보기를 권장한다.

 

What is Ethernet?

Wikipedia의 정의로 보면, Ethernet is a family of computer networking technologies commonly used in local area networks (LANs) and metropolitan area networks (MANs).[1] It was commercially introduced in 1980 and first standardized in 1983 as IEEE 802.3,[2] and has since been refined to support higher bit rates and longer link distances. Over time, Ethernet has largely replaced competing wired LAN technologies such as token ring, FDDI and ARCNET.

Ethernet은 쉽게 얘기하면 인터넷에 연결할 수 있는 방편 중 하나로 보면 될 것이다.

집에 보면 컴퓨터나 AP를 연결하기 위한 LAN 케이블이 있으니 직접 눈으로 확인해 보는 것도 좋을 것이다.

 

What is WIZ820io?

WIZ820ioWIZnet 회사에서 만들어서 판매하고 있는 Ethernet solution 중 하나이다. MCUSPI Interface를 통해 TCP/IP를 이용하여 외부 인터넷에 연결할 수 있다.

WIZ820io is a compact size network module that includes a W5200 (TCP/IP hardwired chip and PHY embedded), a transformer and RJ45. It can be used as a component and no effort is required to interface W5200 and Transformer. The WIZ820io is an ideal option for users who want to develop their Internet enabling systems rapidly. WIZ820io is hardware compatible with WIZ850io.

http://www.shopwiznet.com/wiz820io

 

Curation on WIZnet Museum

누구나 쉽게 WIZ820io 활용해서 IoT 디바이스들에게 연결성을 제공하고 있는 사이트를 소개하고자 한다. 실제 구현에 필요한 SW, HW 내용들을 포함하고 있기에 관심이 있는 사람이라면 한 번쯤 따라 해 보는 것도 좋으리라 생각한다.

 

Tutorial: Controlling Servo / Webcam via webserver, Wiz820io and Garagino

This project is a server with Garagino and Wiznet Ethernet module, and thus an HTML page that displays the buttons that control the servos connected to the Pan / Tilt.

http://wiznetmuseum.com/portfolio-items/tutorial-controlling-servo-webcam-via-webserver-wiz820io-and-garagino/

Webcam의 방향을 제어해 볼 수 있는 프로젝트로 인터넷 연결을 위해서 WIZ820io를 사용하고 있다. Arduino Ethernet 보드를 사용할 수도 있는 점을 알려주고 있으며 비교적 프로젝트가 잘 정리 되어 있다.

 

Bascom project – Ethernet Shield & WIZ820io

BASCOM-AVR© is the original Windows BASIC COMPILER for the AVR family. It is designed to run on XP/VISTA/WIN7 and WIN8. This product description is updated in 2014. But we do not change it each time we update the software. In the on line help you can find a list of all statements and functions.

http://wiznetmuseum.com/portfolio-items/bascom-project-ethernet-shield-wiz820io/

아두이노에 WIZ820io를 연결하여 Ethernet 사용을 손쉽게 적용한 프로젝트로 하기 링크로 연결하면 보다 자세한 프로젝트 내용을 볼 수 있다. 아두이노의 AVR MCU 이외에도 다양한 MCU에 포팅이 가능하다.

http://wiki.mcselec.com/Getting_started_with_Arduino_and_WIZ820io

 

WIZ820io: Porting Guide about EmIDE and Nucleo Board

This is a simple project based on EmIDE(gcc) since commercial compiler is not free which shows how to port from EmIDE and Nucleo Board using WIZnet network module product, WIZ820io.

http://wiznetmuseum.com/portfolio-items/1-wiz820io-porting-guide-about-emide-and-nucleo-board/

상기 프로젝트에서 AVR MCU를 사용했듯이 Nucleo보드의 ST MCU를 사용하여 WIZ820io 프로젝트가 진행되었다. IoT 플랫폼으로 사용되고 있는 mbed Nucleo 보드를 사용하면 보다 쉽게 프로토타입을 구성하여 빠르게 Ethernet 제품을 구상할 수 있다.

'Curation Contents' 카테고리의 다른 글

How to use WIZ820io easily  (0) 2017.02.16
To understand IoT through Blynk Platform easily  (2) 2017.01.10

+ Recent posts