W5500 Driver open source projects - 오픈소스


W5500 Driver open source projects - 오픈소스

이전에 PSoC W5500 Driver 에 관련된 글을 작성했었다. 

W5500 Ethernet driver for PSoC - FreeRTOS

이외에 많은 대중적인 MCU 들이 많이 있는데 관련해서 드라이버 소스들을 정리해 보고자 한다.

일단, 공식적으로 WIZnet에서 제공하고 있는 통합 라이브러리는 아래와 같다.


https://github.com/Wiznet/ioLibrary_Driver ; SOCKET APIs like BSD & WIZCHIP(W5500 / W5300 / W5200 / W5100) Driver


AVR - ATmel

- 일단 아두이노 소스를 모두 활용할 수 있다.

Arduino Ethernet Github site

https://github.com/arduino/Arduino/tree/master/libraries/Ethernet


- 또다른 아두이노 진영인 arduino.org 의 최신 소스코드 - 여기가 좀 더 W5500 테스트가 많이 되어 있는 것 같다.

https://github.com/arduino-org/Arduino/tree/ide-org-1.6.1.x/libraries/Ethernet2

보드에 같이 올라가 있는 상품도 있고. 

http://www.arduino.org/products/boards/4-arduino-boards/arduino-leonardo-eth



- 칩 제작사인 위즈네트에서 제공하는 통합 라이브러리

https://github.com/Wiznet/WIZ_Ethernet_Library


- 통합 라이브러리 이전에 먼저 개발하고 테스트한 공신할 수 있는 embeddist 님께서 작성해 주신, 


- 호주의 뛰어난 개발자 이신 Phillip Stevens 가 만드신 freeRTOS & libraries for AVR ATmega 프로젝트 소스, FreeRTOS 포트 정보를 찾는다면 단언코 이 프로젝트가 레퍼런스 1순위. Goldilocks Analogue 라는 ADC 기능이 기본적으로 탑재되어 있는 Arduino 호환 보드를 개발해서 사업을 하고 있기도 하다.

- ehajo 라는 독일업체에서 만든 보드와 예제 코드.

- 기타 제작자들의 작품들.


LPC 시리즈 - NXP LPC11exxx ...

- 위즈네트에서 개발된 W5500 용 EVB, 메인 칩셋으로 NXP사의 LPC 시리즈를 이용하고 있다.



https://github.com/Wiznet/W5500_EVB

개발 환경의 구축에 관련된 내용은 위즈네트 아카데미(http://wiznetacademy.com) 에서 강의를 들어 볼 수 있으며,

강의노트 - WIZnet Academy (http://wiznetacademy.com/wp/wp-content/uploads/2015/02/WIZnet-Academy-W5500-WebServer.pdf)


또한 아래 글을 참고해도 된다.

W5500으로 이더넷 구현하기 (개발 환경 구축)


- ARM 사의 오픈소스개발환경인 http://mbed.com 을 통해서도 많은 예제와 소스코드를 찾을 수 있다.

먼저 하드웨어는 W5500 Ethernet Kit for IoT (https://developer.mbed.org/components/W5500-Ethernet-Kit-for-IoT/) 을 사용하면 된다.



ARM mbed 환경에서는 Cortex-M 시리즈의 칩셋을 기본적으로 제공하고 있으므로 NXP 뿐 아니라 STM32 코드로도 활용이 가능하다.


STM32 시리즈 - ST Microelectronics

- 먼저 WIZnet(http://wiznet.co.kr) 에서 제공하고 있는 Web module 의 소스코드를 가장 먼저 레퍼런스 할 수 있다.

https://github.com/Wiznet/WIZ550web

https://github.com/Wiznet/WIZ550Web_STM32F103RB_CoIDE ; 무료 컴파일러 Coocox 버전 (http://www1.coocox.org/CooCox_CoIDE.htm)


- Arduino for STM32 Project (https://github.com/rogerclarkmelbourne/Arduino_STM32) 의 일부 프로젝트로 진행된 라이브러리.

Vassilis Serasidis 님이 개인적으로 코드사이즈, DHCP 라이브러리를 직접 테스트 하며 완성된 통합 라이브러리 버전이다. 짝짝~~

https://github.com/Serasidis/Ethernet_STM ; WIZnet W5500, W5200, W5100 ethernet library for 8-bit, 32-bit Arduino and STM32F1 (STM32F103) micro-controllers

성공스토리는 이 포럼글에서 확인해 볼 수 있다. : "W5500 library is (finally) ported"

참고로 Arduino STM 프로젝트는 이전에 Maple Project (http://www.leaflabs.com/about-maple/)에서 생성된 것으로 아두이노 IDE를 ARM 계열에서도 사용해 보자고 하는 운동에서 시작되었다.


국내 개발자, w5500 모듈을 가지고 기본 라이브러리를 활용하여 TCP/IP 서버와 클라이언트를 구현한 KEIL 프로젝트로 아래 링크에서 소스코드를 다운로드 받을 수 있다.

wiznet ethernet controller w5500 with STM32F10


PIC 시리즈 - Microchips PIC18, PIC24 ...

- 유럽에서 진행되고 있는 통합 EVB 같은 ETH WIZ click

본 모듈은 http://www.mikroe.com/ 이라는 곳에서 기본 보드와 아주 다양한 기능별 모듈을 제공하여 Prototype 설계를 가능하게 해 준다.

그림처럼 아주 깔끔한 형태의 보드를 제공하고 있고, 물론 예제 라이브러리도 아주 고급지게 제공된다.

물론 아래와 같이 PIC 시리즈를 포함하여 AVR, ARM 소스도 같이 제공하고 있어 다양한 활용이 가능하다.

http://libstock.mikroe.com/projects/view/1314/eth-wiz-click-board-example


Examples are written for :

  • EasyPIC v7 - PIC18F45K22
  • EasyPIC v7 for dsPIC30 - dsPIC30F4013
  • EasyPIC Fusion v7 - PIC32MX795F512L
  • EasyAVR v7 - ATmega32
  • EasyMX PRO v7 STM32 - STM32F107VC
  • EasyFT90x v7 - FT900 


- 약간 특이하게 아래와 같이 아두이노 호환형태의 보드와 Basic 형태의 코드와 라이브러리를 배포하고 있는 Firewing Project 도 PIC 시리즈를 이용하시는 분들은 참고할 만 하다.

단, 컴파일러/IDE의 지원이 이곳(http://www.firewing.info/pmwiki.php?n=Main.HomePage)에서 유료로? 무료로 받는지는 확인해보고 사용해 보시길.

W5500 Dirver 페이지는 http://www.firewing.info/pmwiki.php?n=FirewingUser.W5500 


https://github.com/FeezingCode/pic18_W5500


PSoC 시리즈 - Cypress

W5500 Ethernet driver for PSoC - FreeRTOS 여기에 정리를 해 두었다. 

그래도 간략하게, 해당 링크는 

http://www.e2forlife.com/2015/09/its-been-a-while/

이 페이지에는 W5500 드라이버는 물론이고, FreeRTOS 사용자들을 위해 porting 작업이 완료되어 있는 소스를 공개하고 있다.

해당 소스의 위치는 

Check out the “example” project at https://github.com/e2forlife/PSoC-W5500-Example.git

아직 FreeRTOS 전체적인 프로젝트가 종료되지 않아서 최종 릴리즈 버전은 없지만 

개발 버전은 자신의 Github을 통해 공유하고 있다. 소스의 위치는 아래 링크를 참고하기 바란다.

프로젝트 페이지 https://github.com/e2forlife/PSoC-FreeRTOS

개발 버전 공개페이지 : https://github.com/e2forlife/PSoC-FreeRTOS/tree/Implement-PSoC5



저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

IoT Cloud Platfrom - Internet of Things 를 위한 클라우드 서비스 개발 키트들

이미 스크랩 해놓은 것 부터 그냥 정리해 두자. (업데이트를 기대하며..)


(via Xively Jumpstart Kit, ARM® mbed Edition - Xively)
영어권은 좋겠다..저들끼리 잘허네~~
무튼 요는 간단히 킷을 사서 뚝딱 하면 간단 IoT 완성
데이터는 http://xively.com 에서 이쁘게 관리해 주고
멀 관리할 것인지만 꾸며 넣으면 됨..이런 세상이야~~
관련 ARM techcon review 하나 추가

(via Xively Jumpstart Kit, ARM® mbed Edition - Xively)

영어권은 좋겠다..저들끼리 잘허네~~

무튼 요는 간단히 킷을 사서 뚝딱 하면 간단 IoT 완성

데이터는 http://xively.com 에서 이쁘게 관리해 주고

멀 관리할 것인지만 꾸며 넣으면 됨..이런 세상이야~~

관련 ARM techcon review 하나 추가


몇개 더 있다. 자세한 정보는 여기 -> http://exosite.com/solutions/development-kits/

(via TI Launches “Connected LaunchPad”)
이건 머 할 것이 없다.다 된다.  서비스까지 (아래 동영상 참고, Exosite.com 에서 제공하는 서비스 기존의 Xively, Thingspeak 류의 서비스도 같이 제공한다. ㅠㅠ)

이 Kit의 판매가격은 현재 홈페이지에 나와 있는 것으로 하면 
$19.99
아래는 어플리케이션 데모 화면 캡쳐.


For the launch, TI has partnered with Exosite to provide easy access to the LaunchPad from the internet. A pre-loaded demo application will allow you to toggle LEDs, read button states, and measure temperature over the internet using Exosite. 

보드를 작게하거나, 어떤 가치있는 정보를 보내고 저장하고 보여줄까 고민하는 정도
아이디어를 구현하는 것은 쉬워진다. 아이디어가 문제 혹은 추진력?과 빽 ㅋㅋ

(via TI Launches “Connected LaunchPad”)

이건 머 할 것이 없다.다 된다. 
서비스까지 (아래 동영상 참고, Exosite.com 에서 제공하는 서비스 기존의 Xively, Thingspeak 류의 서비스도 같이 제공한다. ㅠㅠ)

이 Kit의 판매가격은 현재 홈페이지에 나와 있는 것으로 하면 

$19.99

아래는 어플리케이션 데모 화면 캡쳐.

For the launch, TI has partnered with Exosite to provide easy access to the LaunchPad from the internet. A pre-loaded demo application will allow you to toggle LEDs, read button states, and measure temperature over the internet using Exosite. 

보드를 작게하거나, 어떤 가치있는 정보를 보내고 저장하고 보여줄까 고민하는 정도

아이디어를 구현하는 것은 쉬워진다. 아이디어가 문제 혹은 추진력?과 빽 ㅋㅋ



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

Evrythng 서비스 간단 사용기 - Internet of Things 클라우드 서비스

여기저기 클라우드 서비스가 생겨나고 있다.

Internet of Things device 를 위한 서비스들도 많이 나오고 있네.

대표적인 것은 물론,


http://xively.com <- 난, 여기를 강추. 인터페이스며 API며 다른 솔루션보다 나아 보인다.

http://thingspeak.com

(삼성이 인수해서 알게된 Smart Things..) 등등..


여기에 영쿡에서 http://Evrythng.com 이 만들어 져 있네. (왜 국내는 빅벤더들이 가만이 있을까나~~ ㅎㅎ, API가 문제인가)

모음만 싹 뺀 이름으로 만든 에브리띵스 닷 컴. 

간단히 사용해 보자.


일단 개발자를 위해서는 http://dev.evrythng.com 으로 접속. 

머 대충 아이디 만들어 로그인 하면 짠..이런 화면인..



간단하게 기기를 등록해볼까. 

왼쪽에 Thngs 메뉴 누르고, 아래 그림 오른쪽의 "+Add THNG"를 누러면, 아래와 같이 등록할 수 있는 페이지 나옴.



이름 넣고 간단한 설명. 그리고 "Save". 끝



이렇게 생성된 기기가 나타난다. 일단 속성을 등록해 줘야 한다.

온도 기기 같으면, 온도라는 속성

습도 기기면 습도.

아니면 2개 이상을 등록해도 된다.

일단 위에 나타난 기기의 이름을 누르면 자세한 정보들이 나오는데, 그중에 "View Properties"를 눌러 등록한다.



여차저차..prop3 이란 속성을 등록해 놓았다. 


일단, 정보를 받고 저장할 수 있는 기기 하나를 http://evrythng.com 에 등록 완료.

이제 기기에서 실제 여기로 정보를 올리고 가져오고 할 수 있도록 하면

간단한 IoT를 맛볼 수 있다.


mbed(http://mbed.org) 를 사용하고 있다면, (Ethernet 혹은 WiFi 연결 가능한 모듈이 있어야 한다.)

예제를 제공하고 있으니 쉽게 따라할 수 있을 것 같다.


간단한게 만든 예제는 여기를 참조.

http://mbed.org/teams/EthernetInterfaceW5500-makers/code/EvrythngApiExampleW5500/


혹은 Evrythng에서 제공하는 예제를 참고해도 된다.

http://mbed.org/users/vladounet/code/EvrythngApiExample/


이 코드로 데이터를 올렸더니 이렇게 볼 수 있네.


이정도로 마무리~~

자세한 코드관련 내용은 기회가 닿는대로 하나 더 올리도록 하자..(다짐ㅋ)


끝.



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

Arduino Internet of Things 예제 프로젝트들 - WIZ550io module

아두이노 + WIZ550io (made by WIZnet) 모듈을 이용하여 다양한 Internet of Things 예제들을 코드 구현 및 데모를 실은 동영상이다.



관련된 소스코드는 Github을 통해서 공유하고 있다.

https://github.com/MD4N1/Wiz550io-Tutorial-Series


예제들을 보니 왠만한 프로젝트는 다 있다. 예제 소스가 있는 폴더를 스크린샷해서 가져왔다.


요즘 유행하는 것들은 다 있네.

Twitter, Thingspeak, Web Server, Xively ...

각각 하나하나가 가치 있는 프로젝트들인데


#Internet of Things 에 관심이 있는 사람들이면 한번씩들 들어봤을 이름들..

한번씩 받아서 돌려보기만 해도 큰 공부가 될 듯 하다.


medium.com 에서 작성한 페이지도 여기에 한번 실험삼아 embed 해본다.


Ethernet Shield — Arduino, WIZ550io




저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

IoT는 현재 개발 대세

원본은 여기서 The IoT is developing a head of steam | Bits & Pieces from the Embedded Design World


대표 그림은 이것 -> (저작권과 무관한가 ㅠㅠ)

 


IoT의 개발이 대세다..머 이런 글.
전세계 23%이상의 개발자들이 바로 6개월이내에 관련 제품을 개발하고 싶다고 밝혔다고.

굴지의 외쿡 회사들은 (삼성은 들어감)  Open Interconnect Consortium (OIC) 라는 조직을 통해 새로운 산업용 IoT 플랫폼에 대한 여러가지 규정(?)을 만들 예정

큰 흐름은 흐름이야~~



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

RF Considerations in Wireless Sensor Networks

간단하게 본게 아까워서 여기에 남겨둠. 에버노트 플러그인 기능 확인도 할 겸..

꼭 원본 글을 보자. 삽질한 내용만 보다가는 실패할 수도 ^^;;

살펴보면 자세하게 관련된 논문링크도 있고, 영어도 배우고 좋을 듯 



아래내용은 간단히 필요한 내용만 추려서 삽질~~


전통적인 WSN은 센서, MCU, RF로 구성이 된다. 센서는 언제나 파워가 공급된다 배터리로, 따라서 파워소모량이 핵심적인 고려사항이다.


일반적으로 데이터 처리하는 과정 보다 데이터 송수신에 많은 에너지를 소비한다는 것이 핵심 따라서 RF 송수신이 파워소모측면에서는 가장 중요한 요소이다.


모든 선택에는 tradeoffs가 있다. 한예로 WiFi는 54Mbps의 속도를 가지고 파워 소모는 수신시 100mW, 송신시 200mW나 사용한다. 반면, ZigBee의 경우 low power이긴 하지만 속도가 낮다. 


원 저자가 언급한 고려사항은 아래와 같다.


동작주파수. 현재 시장에서 널리 쓰이는 무선기술은대부분 ISM 주파수 밴드를 사용한다. 특히 sub-GHz(1GHz 이하의 주파수) 대역과 2.4 GHz 근처의 주파수 밴드를 사용한다. sub-GHz는 몇가지 장점이 있다 2.4GHz와 비교해서. 전송중에 Path loss 혹은 signal loss는 캐리어 주파수와 관련이 있다. 2.4GHz를 사용하면서 10 미터 정도의 거리에서 데이터를 보내면 PL이 약 60dB이다. 반면에 900 MHz는 같은 조건에서 51.5dB로 약간 낮아진다. 계산해보면 900MHz는 2.4GHz에 비해 2.6배 긴 거리에서 전송이 가능하다. 또한 같은 link budget에서는 2.4GHz 대역이 거의 2배의 파워를 소모한다.


그동안, WiFi, Bluetooth, microwave, baby monitors, 무선전화기등은 2.4GHz대역을 사용해 왔다. 이 대역은 많이 붐빈다. 그리고 간섭이 많다. sub-GHz 대역이 더 나은 선택인 것 같다고 WSN에서는


동작전압도 또다른 고려사항이다. 송수신의 파워를 낮추는 것이 가장 좋은 방법이다. 현재 RF회로는 2V미만으로 동작하는 것이 일반적이다. 높은 전압의 동작은 출력 파워가 5dBm이상인 경우에 요구되어 진다. 센서노드의 경우, 1.2V 혹은 1V 미만의 전압이 공급되고 이것은 파워소모를 줄이는 효과를 가져온다.


반면, data rate도 송수신 속도는 중요한 요소이다. 파워소모를 결정하는. 에너지 효율을 높이기 위해선 높은 data rate을 가지는 것이 좋다.


여기에 필요한 것이 변조기술이다. 802.11b는 3가지 표준 변조방식을 지원한다. BPSK는 1Mbps, QPSK는 2Mbps, CCK는 5.5 Mbps와 11Mbps를 지원한다. 더 복잡한 변조는 data rate을 더 올릴 수 있다. 그러나 data rate이 올라가면 RF 회로 설계가 좀 어려워진다. WSN에서는 data volume이 WiFi보다 작기때문에 쉬운 변조방식을 가진 합리적인 data rate(?)이 필요하다.


가장 적은 에너지를 소모하기 위해서 동작하지 않을 때, RF회로는 shut down되어야 한다 즉 센서 노드가 RF 파워를 제어하는 기능이 있어야 한다는 의미이다. 


끝 =).



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

Sensors as a Service on the IoT | ARM Connected Community

요즘은 비교적 저렴하고 효과적인 센서들이 많이 나오고 있다. IoT에 걸맞게 통신을 겸비한, 이제 서비스를 활용할 수 있는 단계까지 와 있다. 

ARM에서 백서를 나름 각 요소 기술별로 소개를 해준다.


Sensors as a Service on the Internet of Things WP.pdf (315.6 K)View  Download



그 중 통신을 위한 기술들 소개부분에서 발췌..

센서노드이므로, 가벼운 프로토콜이 주를 이룬다.

RESTful 기술을 기반으로 CoAP, MQTT, 그리고 새로 보이는 Ponte 등의 프로토콜에 대한 간단한 소개가 있다. 

Recently approved by the IETF, Constrained Application Protocol (CoAP) moves a step closer to that goal. It uses the same familiar RESTful programming  but with much more compact transfers. The Contiki open source project is based on CoAP, and one of the leading embedded implementations is from ARM Sensinode. 

Another vehicle web services programmers may have encountered is IBM® WebSphere®, and the publish-subscribe messaging protocol inside – MQ Telemetry Transport (MQTT) – is getting a lot more attention lately. Publish-subscribe is well suited for many-to-many networks with small, asynchronous messages with lightweight, low-bandwidth connections. 

A brand new Eclipse Foundation project proposal, Ponte, seeks to bring both CoAP and MQTT out through a new REST API. One of the key elements is dealing with multiple data formats – JSON, XML, MessagePack, Bysant, and others. The project is also studying an OAuth2 solution for embedded security.

Ponte 이게 약간 물건으로 보이는데.

소개 페이지 : http://eclipse.org/proposals/technology.ponte/


Exposing M2M to the REST of us from Matteo Collina


살펴보면 재미있다. 잘 만들어 PT 를

=).


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
◀ PREV 1 NEXT ▶