bbkic
IoT Blog Hub
72 posts
딱딱하지만 흥미로운 임베디드 기술 모음
Don't wanna be here? Send us removal request.
bbkic · 5 years ago
Text
블로그가 어렵다...
무엇이든 세상에는 쉬운게 없고 꾸준히 하는 게 너무 어렵다.
그나마 쉽게 해볼라고, 찾고 찾아서 텀블러 베이스의 기술자료모음 관련 블로그를 해볼라고 했는데 이것 저것 하나도 제대로 안되네~
티스토리 운영중인 아래 블로그에 필요한 내용을 옮기고 일단 하나라도 잘해야 할 듯 ^-^
여기 => https://ts.devbj.com/category/IT
Tumblr media
2 notes · View notes
bbkic · 5 years ago
Text
아두이노로 제어하는 7 Segments LED
국내 메이커 글인데, 좋은 글이 굉장히 많이 있네요. 열심히 작업 하시는 분 같습니다.
다른 글도 쭉 읽어봐야 겠네요.
7 Segments LED 모듈을 아두이노로 제어하는 방법에 대한 연재입니다. 
TM1637 드라이버 칩을 이용한 7 Segments LED 모듈에 대한 소개와 전용 라이브러리를 통해 아두이노에서 제어하는 방법을 설명합니다.  
아두이노로 7 segment LED 제어하기 #1 모듈 소개 및 라이브러리 설치 
아두이노로 7 segment LED 제어하기 #2 TM1637 라이브러리 1 
아두이노로 7 segment LED 제어하기 #3 TM1637 라이브러리 2
(via 아두이노로 제어하는 7 Segments LED)
0 notes
bbkic · 6 years ago
Photo
Tumblr media
vscode keyboard shortcuts for Windows
from : https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
0 notes
bbkic · 6 years ago
Text
Git - 토픽 브랜치와 통합 브랜치에서의 작업 흐름 파악하기
브랜치를 이용해서 프로젝트를 수행하게 되는데, 그 개념을 제대로 알자.
아래 링크로 가면 아주 자세하게 설명과 그림이 잘 표현되어 있다.
https://backlog.com/git-tutorial/kr/stepup/stepup1_5.html
버그 수정 브랜치, 기능 추가 브랜치 이런 식으로 활용할 수 있는데,
아래 그림은 버그 수정한 브랜치를 다시 master로 merge 한 후, 기능 추가 브랜치는 그 버그 해결부분을 반영하기 위해 rebase 해서 사용한 것을 그림으로 보여주는 것
Tumblr media
자세한 내용은 해당 링크로 들어가서 공부해요~
(추가)
merge 할 때, 조금 특별한 옵션인 '--squash'..커밋을 하나로 통합해서 합병할 수 있다.
Tumblr media
0 notes
bbkic · 6 years ago
Text
namespace의 장점과 사용법
가끔 소스코드에 등장하기에, 정리된 페이지 보면서 습득~~
namespace
아래 예는 Tree 라는 문자열이 라이브러리 A와 B 에 쓰여 컴파일 오류가 나는 상황, 가장 쉽게는 변수명을 바꾸면 되는데, 양이 많은 경우에는 난감할 따름.
이경우, namespace 가 엄청 유용하다.
(via You complete me :: namespace의 장점과 사용법)
구현은 간단합니다. 
namespace로 정의할 것들을 블럭으로 묶으면 됩니다. namespace A {  struct Tree {}; } namespace B { int Tree; } 
사용하는 측에서는 다음중 하나를 선택해 쓰면 됩니다. 1. using namespace A;  (의미 : 현재 소스 코드에 A사 라이브러리만 쓰이는경우, 이름충돌이 예상되지 않으므로, A에 있는 모든 이름들을 현재 소스의 범위내에 가져온다) 2. using A::Tree; (의미 : 현재 소?코드에 A사와 B사의 라이브러리가 동시에 쓰이는데, 현재 블럭에서 사용할 Tree는 A사의 Tree 구조체이다) 3. B::Tree = 10; (의미 : 현재 소스 코드에 A사와 B사의 라이브러리가 동시에 쓰이는데, 현재 블럭에서 두 회사의 라이브러리가 모두 섞여 쓰이므로 명시적으로 이름을 정해준다)
using
그리고, using 이라는 키워드가 사용되는데 이것에 대한 설명도 첨언,
원래 namespace를 계속 써줘야 하는데 특정 파일내에서는 무조건 A namespace를 사용한다던지, 주로 사용하는 namespace를 생략하고 싶다던지 하면 using을 잘 활용하면 된다.
(via [C++] namespace 사용법 :: 돼민이)  
std는 namespace 이며 cout은 함수이다.  std::cout std::endl  매번 std::을 코딩하기 번거롭다. 이를 해결 하기 위해 using을 사용해 std::를 제거해 보자. [사용법]   using std::cout;   using std::endl;
Tumblr media
(via https://stocksnap.io/photo/GEQWTKQ8RL)
0 notes
bbkic · 6 years ago
Text
CircuitPython on Arduino MRKZero
Arduino 보드로 CircuitPython 을 활용해 보기 위해 일단 개발 환경을 설정해야 하는데, 관련 내용을 정리해 둔 페이지를 일단 keep!!
Tumblr media
how to install CircuitPython on a variety of SAMD21-based boards
https://learn.adafruit.com/installing-circuitpython-on-samd21-boards/overview
The easiest method for installing CircuitPython is through the UF2 bootloader. UF2 is a slick piece of code that runs on your microcontroller, and it allows the board to appear as a drive on your computer. From there, you can simply drag-and-drop the CircuitPython installer! We will need to take the following steps to install CircuitPython on a SAMD21 board:
Install Arduino and the appropriate board definition
Download the UF2 bootloader Arduino code for your board
(add link) https://circuitpython.org/board/arduino_mkrzero/
Upload the UF2 bootloader code to your board from Arduino
Download the CircuitPython installer for your board
Copy the CircuitPython installer to your board
Test it!
What is CircuitPython?
https://learn.adafruit.com/welcome-to-circuitpython/what-is-circuitpython
0 notes
bbkic · 6 years ago
Photo
Tumblr media
(via What is a REPL?)
A REPL (say it, “REP-UL”) is an interactive way to talk to your computer in Python. To make this work, the computer does four things:
Read the user input (your Python commands). Evaluate your code (to work out what you mean). Print any results (so you can see the computer’s response). Loop back to step 1 (to continue the conversation).
Mu is a simple code editor that works with the Adafruit CircuitPython boards.
for the installation, please refer the Adafruit tutorial from https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor
Let’s try it!!
0 notes
bbkic · 6 years ago
Text
MQTT library with IPv6
IPv6 를 지원하는 MQTT 라이브러리
WIZnet W6100 칩을 사용하면 아주 쉽게 가능하다.
소스코드는 아래 링크에서 맘대로 다운이 가능~
https://github.com/WIZnet-ioLibrary/W6100EVB-MQTT
단, 현재는 Subscribe 만 지원 중, 점차 개선 작업이 진행될 예정입니다.
Tumblr media
테스트는 ���무나 유명한 test.mosquitto.org 에서
Tumblr media
IPv4로 접속하는 예제는 많이 있지만, IPv6를 사용하는 경우는 아직 드문..
먼저 선점하세요. IPv6 세상
결과 시리얼 로그는 아래와 같습니다. Publish 한 메시지를 시리얼 터미널에 찍어주는 예제 입니다.
Tumblr media
0 notes
bbkic · 6 years ago
Text
좋은 git commit 메시지를 위한 영어 사전
아주 유용한 글이다. 
정독이 필요하다. 일부만 발췌해 보자.
ALLOW
Make와 비슷하지만, 허용을 표현할 때 사용합니다. 
Allow A to B A가 B를 할 수 있도록 허용합니다 
Allow the output filename to be a {Function} 
Allow Node.js-like runtimes to identify as Node.js as well. 
Allow passing parseOptions to ApolloServerBase constructor. 
Allow an optional function to resolve the rootValue, passing the DocumentNode AST to determine the value.
(via 좋은 git commit 메시지를 위한 영어 사전)
0 notes
bbkic · 6 years ago
Text
Eclipse + GNU MCU Eclipse toolchain
툴 설치 해보고 알았다. 따로 GNU Arm embedded toolchain 을 별도로 설치할 필요가 없다.
이전글 참고. GNU Arm Embedded Toolchain + Eclipse install 
https://it.devbj.com/post/184592236931/gnu-arm-embedded-toolchain-eclipse-install
1. Eclipse 설치 후, Eclipse Marketplace... 메뉴를 클릭하고,
Tumblr media
2. GNU MCU Eclipse 를 설치한다.
Tumblr media
3. 그냥 모든 features 를 다 설치한다. ^^
Tumblr media
4. 프로젝트 설정에서 toolchain을 아래 것으로 선택하면 끝!!
Tumblr media
이게 더 쉽다.
0 notes
bbkic · 6 years ago
Text
GNU Arm Embedded Toolchain + Eclipse install
GNU Arm Embedded Toolchain 
arm 홈페이지에서 지원을 하네요.
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
설치화면 예시
Tumblr media Tumblr media Tumblr media Tumblr media
Eclipse 
설치 파일은 여기서
https://www.eclipse.org/downloads/packages/
설치화면 예시
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
0 notes
bbkic · 6 years ago
Text
GARP - Gratuitous ARP
Gratuitous ARP(GARP)
IP 충돌 감지
MAC Table update
ARP Table update(MAC address가 바뀌는 이중화)
IP interface or link down에서 Up 상태 변화 시 MAC Table 및 ARP Table update
[출처] [오리뎅이의 LAN 통신 이야기 - 6] Gratuitous ARP가 얼마나 요긴한데, 이름이 꽁짜 ARP?|작성자 오리뎅이
ARP packet 의 내용은 아래 그림과 같다. 핵심은 대상 MAC은 0x00 으로 채워두고, 대상 IP를 자신의 IP를 입력하고 보내면 된다.
Tumblr media
Ethereal packet capture 은 아래 그림 참고
Tumblr media
능력자들 존경합니다!
추가 참고 사이트
https://www.netmanias.com/ko/post/blog/5402/arp-ethernet-ip-ip-routing-network-protocol/arp-and-garp-gratuitous-arp
https://www.netmanias.com/ko/post/qna/5286
https://godrain.tistory.com/entry/Gratuitous-ARP
0 notes
bbkic · 6 years ago
Text
W6100 Design contest
WIZnet's first IPv4 IPv6 dual stack products are all yours to test and play!🥳 Join WIZnet design contest to create any IoT project using W6100 related products and win $15,000!🤩
Contest Home
Link : https://maker.wiznet.io/contests/contest-in-progress/201905-iot-ioffload-contest/
For more details, also visit https://maker.wiznet.io/ 
Tumblr media
Schedule
5/1 ~ 5/31 : Register as a participant
5/1 ~ 7/31 : Create new project
8/1 ~ 8/30 : Voting & Judging
8/31 : Winners announced
S/W Library reference
For Arduino users, W6100 (MKR-)Ethernet shield
아두이노 사용자들은 아래 라이브러리 정보를 활용하시면 됩니다.
Ethernet Library (IPv4)
Application & Examples
Ethernet Library (IPv6)
Application & Examples
W6100-EVB Application examples
1. TrueStudio IDE
MQTT
TLS
Loopback
Address Auto Confiduration
FTP CLIENT
FTP SERVER
DNSv4
HTTP SERVER
HTTP CLIENT
NTP
2. Eclipse(GCC) IDE
Loopback
TFTP CLIENT
TFTP SERVER
Good luck to you!!!! 
0 notes
bbkic · 6 years ago
Video
youtube
(via Learn Hardware Programming with CircuitPython at Codecademy - YouTube)
#CircuitPlayground 소개 
간단하게 파이썬 프로그램으로 보드 센서 사운드 출력까지 가능한 플랫폼
영상자료에서 주요한 장면만 뽑아 보면
Tumblr media
보드는 둥근 모양으로 잡고 다루기 쉽게 되어 있고, USB로 프로그래밍 및 파워를 공급해주게 되어 있네. 
이 둥근 보드에는 다양한 기능이 있는데....
Tumblr media
모션센서
Tumblr media
온도센서
Tumblr media
빛 감지 센서
Tumblr media
사운드 툴..일단 소리가 나오게 할 수 있다. 인식은 잘 모르겠네 ^^;;;
Tumblr media
간단한 심장 박동 측정기를 만들수 있고, (LED를 쏘고 빛 감지 센서로 수신되는 조도/감도등을 같이 활용하면 가능한 것으로 생각됨)
Tumblr media
터치하는 위치에 따라 다른 소리가 나오게 하는 간단한 피아노 응용도 구현이 되고..
Tumblr media
이 모든것을 Python으로 간단하게 코딩을 하고 USB로 다운로드 끝!!
편하긴 하다. 
너무 복잡하지 않는 간단한 기능 구현은 이 플랫폼 보드 하나로~ 코딩 교육도 같이..
제 2의 아두이노 보드가 될 듯 하네
0 notes
bbkic · 6 years ago
Video
youtube
(via Limor Fried, Founder & CEO, Adafruit Industries | MAKERS - YouTube)
#Adafruit CEO 리모 프라이드 소개하는 5분 정도의 동영상
#Wired 매거진의 커버로 선정된 첫번째  여성 엔지니어.
살짝 이런것도 보고 자극을 받자.
Tumblr media
“LadyAda” 라는 이름을 어디서 따왔는지...
Tumblr media
취미로 만든 프로젝트를 Kit 로 판매하다가..지금은 1.4M 이상의 판매를 하고 있는...
Tumblr media
Makers, Open source 의 신봉자 Makers, Open source 의 신봉자이자 리더
멋있고, 열정이 부럽네요! 
(추가) 아래 2017년 Maker 에서 소개한 글도 잘 되어 있네요. 이것도 정보에 추가!!
https://makezine.com/2017/06/13/open-source-ideals-engineering-genius-helm-adafruit-maker-revolution-manufacturing/
Ladyada’s 10 Lessons for Building Open Culture Companies
You can be a good company and a good business.
Open source isn’t a business or a marketing strategy for us, it’s the DNA of our company, it’s part of what we do.
Metrics — if you’re not measuring things, you cannot improve them.
We have a weekly all-company meeting called “State of the Fruit.” Be transparent with all parts of your business, early and often.
Skills can be taught. Good people making good decisions should be the focus and what is celebrated.
Celebrate others. It’s not just about you and your products.
Traveling takes too much time. Use the power of the internet. Publish frequently, from videos to blog posts.
Say no to things. It’s not about what you can do, it’s more about what you will not do.
Get a good trademark lawyer. If you’re open source, you’re giving away everything but your name, it’s important to protect it.
You do not need a fancy office or building to do great work. Great work can happen anywhere, even in an apartment.
(via Limor Fried of Adafruit Industries: You Can't Outsource Knowledge (Podcast)) 
Today, she and her team work alongside machines like pick-and-places and reflow ovens, not outsourcing the company's top asset: knowledge. "When something's not working, I know instantly, not two or three weeks later. Being next to the machines, I can revise and adapt quickly." 
0 notes
bbkic · 6 years ago
Video
kickstarter
Mugsy | The Open Source Robotic Coffee Maker
(via Mugsy | The Open Source Robotic Coffee Maker by Matthew Oswald — Kickstarter)
DIY 에스프레소 기계, 흥미로운 프로젝트~
0 notes
bbkic · 6 years ago
Text
Git tutorial
총 50개의 수업 무려 07:53:47 강의 - 생활코딩에서 진행된 강의를 모아둔 것 같네요.
Git 정복을 위해 시간투자를 하자!!
https://lessipe.com/course/1
이게 너무 길고 어렵다고 생각되면, 같은 사이트에서 제공하고 있는 초보자를 위한 Git을 먼저 마스터 하면 될 듯. 단 2개의 강의만 있네요.
Sourcetree 라는 프로그램으로 GUI 환경에서 하는 방법을 익히는 것이라 클릭 클릭으로 Git 을 다뤄볼 수 있다.
쉽고 빠르게 GIT 시작하기 
youtube
youtube
0 notes