fluent-plugin-arduino를 썼다.
재료 어쨌든 ...
재료 어쨌든,
지금은 빠져있다 Arduino 과 fluentd
좋을까~라고 생각했기 때문에 어쩐지 마시면서 써 보았다.
fluent-plugin-arduino
움직이면 좋겠다는 느낌으로 구현한 느낌으로...
기능이 빈약하고 LED를 치카치카시킬 수밖에 없다.
사용하려면
다음 부품이 필요합니다.
다음 부품이 필요합니다.
사용해보기
사용해 본 동영상이 이쪽.
설치를 위해
다음은 알고 있는 사람용... (설명 생략하고 있다...)
Arduino
다음은 알고 있는 사람용... (설명 생략하고 있다...)
Arduino
Arduino IDE를 이용하여 Arduino측에 시리얼 통신의 수락이 되는 프로그램을 빌드하고 전송해야 한다.
전송을 위한 프로그램은 여기에 있다.
led.ino
#define UPPER_CASE 65
#define LOWER_CASE 97
void setup() {
for(int i = 0; i <= 13; i++) {
pinMode(i, OUTPUT);
}
Serial.begin(9600);
Serial.print("\nSetup...");
}
void loop() {
if (Serial.available()) {
char c = Serial.read();
// LOW
if (int(c) < 97){
digitalWrite((int(c) - UPPER_CASE), LOW);
}
// HIGH
else {
digitalWrite((int(c) - LOWER_CASE), HIGH);
}
}
}
PC
PC측에서는 fluentd를 기동해 둘 필요가 있다.
그래서 Arduino를 연결하는 포트 (또는 장치)
를 지정해 둘 필요가 있다.
샘플이 되는 설정 파일을 여기 에 두었다.
<source>
type forward
port 24224
</source>
<match arduino.test1.**>
type arduino
key name
value kaiki
pin 13
port /dev/cu.usbmodem1431
</match>
<match arduino.test2.**>
type arduino
key name
value senjogahara
pin 12
port /dev/cu.usbmodem1431
</match>
<match arduino.test3.**>
type arduino
key name
value araragi
pin 11
port /dev/cu.usbmodem1431
</match>
<match arduino.test4.**>
type arduino
key name
value sengoku
pin 10
port /dev/cu.usbmodem1431
</match>
<match arduino.test5.**>
type arduino
key name
value hanekawa
pin 9
port /dev/cu.usbmodem1431
</match>
'
이 예에서는
/dev/cu.usbmodem1431
설정 방법은 최선을 다하고 구구 싶다.어떻게 통신합니까?
Arduino의 직렬 통신 기능 을 이용하고 있다.
시리얼 통신이라고 하면, 동기라든지 생각하지 않고 무언가를 교환하려고 하면 255바이트까지의 정보 밖에 보낼 수 없다.
스스로 프로토콜 생각해 두면 좋겠지만, 까다로운...
어떻게 제어하겠지?라고 생각한 결과, ASCII 코드를 보내는 것으로 동작하도록(듯이) 하고 있다.
※ 2013/12/17 추가 Serial.readBytes()
Hash의 키가 되어 있는 숫자가 pin 번호를 나타낸다.
A라든지 a라든지, PC로부터 Arduino에 보내면 Arduino측이
ASCII 코드를 숫자로 바꾸고 적절하게 뺍니다.
특정 핀에 전류를 흘리거나 흘리지 않도록 제어한다.
PIN_NUMBER = {
"0" => "A",
"1" => "B",
"2" => "C",
"3" => "D",
"4" => "E",
"5" => "F",
"6" => "G",
"7" => "H",
"8" => "I",
"9" => "J",
"10" => "K",
"11" => "L",
"12" => "M",
"13" => "N"
}
fluent-cat에서 fluentd에 데이터를 보내고 일치하는 태그라면
LED를 깜박입니다.
미래
서보라든지 사용해 무언가 움직이거나,
직렬 통신을 사용하여 문자열을 교환하는 라이브러리를 작성하십시오.
LCD 모듈에 뭔가 표시하거나 그런 일 해보고 싶다.
다만, 하고 싶은 일이 있으면 그만큼 Arduino용의 코드(Sketch)를 써야 하기 때문에, 까다롭다.
Reference
이 문제에 관하여(fluent-plugin-arduino를 썼다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/futoase/items/68ce675f1fc83461b9e6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
PIN_NUMBER = {
"0" => "A",
"1" => "B",
"2" => "C",
"3" => "D",
"4" => "E",
"5" => "F",
"6" => "G",
"7" => "H",
"8" => "I",
"9" => "J",
"10" => "K",
"11" => "L",
"12" => "M",
"13" => "N"
}
서보라든지 사용해 무언가 움직이거나,
직렬 통신을 사용하여 문자열을 교환하는 라이브러리를 작성하십시오.
LCD 모듈에 뭔가 표시하거나 그런 일 해보고 싶다.
다만, 하고 싶은 일이 있으면 그만큼 Arduino용의 코드(Sketch)를 써야 하기 때문에, 까다롭다.
Reference
이 문제에 관하여(fluent-plugin-arduino를 썼다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/futoase/items/68ce675f1fc83461b9e6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)