'[ 충남인력개발원 ] (2019)'에 해당되는 글 126건

저기보면 RS232 사용자프로토콜을 만들어준다

통신포트 : USB 연결된 곳 번호 COM몇이라고 다다름

전송속도 : 이거 맞쳐야 값이 안깨짐

PANTY : 이것도 기기과 값을 맞쳐줌

DATA Bits : 이것또한 기기랑 맞쳐줌

STOP Bits(s): 이것도 기기랑 맞쳐줌

저장

 

통신시작이라는 뜻이다

 

이런식으로 프레임정의를 정리해준다

""은

ASCII를 하면 "" 이고

여기기랑 통신할 꺼 IP주소 같은거 만든거다

쓰레드가 하나 더 생겻다고 생각하면 쉬울듯하다

일하는애 01이름르호 하나 고용햇다고 하면 더쉬울듯

 

 

 

 

바이너리를 하면 아무것도 없다 

크기를 정해주아야하니

잘정해주고

고정메모리 링크는 내가 받을 테그 

M30 같이 M을 빼주고 써주면됨

++++++++++++++++++++++++

이렇게 태그가 있어야 받아온다

++++++++++++++++++++++++

 

 

오류검사이다 

이것은 내가 받은 값을 잘갓는지 확인하는 것

 

통신 끝이라는 것이다

 

 

 

 

이제 주문하는건 햇고

받는거 만들어주고

실행을 해본다!

딴것좀 하고 다시 작성하겟다

 

 

필요하면 말해라

블로그 이미지

Or71nH

,

http://www.mysqlkorea.com/sub.html?mcode=manual&scode=01&m_no=21813&cat1=22&cat2=596&cat3=606&lang=k

 

:::MySQL Korea:::

22.2.3.36. mysql_init() MYSQL *mysql_init(MYSQL *mysql) 설명 mysql_real_connect()함수에 맞는 MYSQL 오브젝트를 할당하고 초기화한다. 만약 mysql 가 NULL 포인터라면, 함수는 새로운 오브젝트를 할당하고 초기화하고 리턴한다. 그렇지 않으면, 오브젝트는 초기화되고, 오브젝트의 어드레스는 리턴된다. 만약 mysql_init() 함수가 새로운 오브젝트를 할당한다면, mysql_close() 함

www.mysqlkorea.com

 

블로그 이미지

Or71nH

,

자 그럼 스타트는 라즈베리파이를 먼져 열고 시작해 보겠습니다.

 

푸티를 열어주고

 


잘됫으

 

 

아두이노 설치부터 해야됨

 

  $ sudo apt-get install arduino

끗!!

  $ sudo usermod -a -G tty pi

  $ sudo usermod -a -G dialout pi

 

똭 써주고

뭔가 됫음 근뭔지는 모름 일단 됫음

그리고 파일하나 만들자

 

/*
 Pi_Serial_test.cpp - SerialProtocol library - demo
 Copyright (c) 2014 NicoHood.  All right reserved.
 Program to test serial communication
 
 Compile with:
 sudo gcc -o Pi_Serial_Test.o Pi_Serial_Test.cpp -lwiringPi -DRaspberryPi -pedantic -Wall
 sudo ./Pi_Serial_Test.o
 */
 
// just that the Arduino IDE doesnt compile these files.
#ifdef RaspberryPi 
 
//include system librarys
#include <stdio.h> //for printf
#include <stdint.h> //uint8_t definitions
#include <stdlib.h> //for exit(int);
#include <string.h> //for errno
#include <errno.h> //error output
 
//wiring Pi
#include <wiringPi.h>
#include <wiringSerial.h>
 
// Find Serial device on Raspberry with ~ls /dev/tty*
// ARDUINO_UNO "/dev/ttyACM0"
// FTDI_PROGRAMMER "/dev/ttyUSB0"
// HARDWARE_UART "/dev/ttyAMA0"
char device[]= "/dev/ttyACM0";
// filedescriptor
int fd;
unsigned long baud = 9600;
unsigned long time=0;
 
//prototypes
int main(void);
void loop(void);
void setup(void);
 
void setup(){
 
  printf("%s \n", "Raspberry Startup!");
  fflush(stdout);
 
  //get filedescriptor
  if ((fd = serialOpen (device, baud)) < 0){
    fprintf (stderr, "Unable to open serial device: %s\n", strerror (errno)) ;
    exit(1); //error
  }
 
  //setup GPIO in wiringPi mode
  if (wiringPiSetup () == -1){
    fprintf (stdout, "Unable to start wiringPi: %s\n", strerror (errno)) ;
    exit(1); //error
  }
 
}
 
void loop(){
  // Pong every 3 seconds
  if(millis()-time>=3000){
    serialPuts (fd, "Pong!\n");
    // you can also write data from 0-255
    // 65 is in ASCII 'A'
    serialPutchar (fd, 65);
    time=millis();
  }
 
  // read signal
  if(serialDataAvail (fd)){
    char newChar = serialGetchar (fd);
    printf("%c", newChar);
    fflush(stdout);
  }
 
}
 
// main function for normal c++ programs on Raspberry
int main(){
  setup();
  while(1) loop();
  return 0;
}
 
#endif //#ifdef RaspberryPi

 

 

 

미쿡 형이 잘 설명도 써놧음 찬찬 히 읽으면 이해됨

 

나는 시리얼 보드벤드?? baud??? 이거 115200 이라 

바꿔줫음

 

그리고 실행!!

아 

이거 아두이누는 

이렇게 넣어주고

 

#include <DHT.h>
#define DHTTYPE DHT11

int pinGnd = 4;
int pinVcc = 3;
int pinDht = 2;

DHT dht(pinDht, DHTTYPE);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(pinVcc, OUTPUT);
  pinMode(pinGnd, OUTPUT);
  digitalWrite(pinVcc, HIGH);
  digitalWrite(pinGnd, LOW);

  dht.begin();
}

void loop() {
  // put your main code here, to run repeatedly:
  delay(2000);
  float fTemp = dht.readTemperature();
  float fHumi = dht.readHumidity();

  if(isnan(fTemp) || isnan(fHumi)) {
    Serial.println("Falled to read from DNT semsor!");
    return;
  }
  Serial.print("Temperature : ");
  Serial.print(fTemp);
  Serial.print("[C]\t ");
  Serial.print("Humidity: ");
  Serial.print(fHumi);
  Serial.print("%\n");    
  }

이거 칩 셋팅은

 

 

이렇게 햇음

 

 

자그럼 작성도 다됫고

 $ dmesg|tail

아두이노 잘 읽히나 잘보고

 

 

$ sudo gcc test.c -o hello -l wiringPi -DRaspberryPi

  $ sudo ./hello

이렇게

잘 만들어주면

습도 보내기 완료!!

좋았스~

 

 

 

 

블로그 이미지

Or71nH

,
#define PIN_CDS A0
#define PIN_LED 9

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
  //  analogWrite(9, map(analogRead(A0), 0, 1023,0,255));// 이건 밑에거 묶어서 쓰는 코드

  int cds = analogRead(PIN_CDS) ; // 10bit res 1023까지밝기가가능
  int pwm8bit = map(cds, 0,1023,0,255); //받는건 0~1023 이거를 최소 0~~최대 255까지로 변환하라
  analogWrite(PIN_LED, pwm8bit);
}

2번째거 깔기

여기 들가면 됨

맨 밑에 저 DHT 설치됫음

이제 습도 센서인 

 

요놈 사용가능

습도 코드!!!

4에다가 Gnd 

3에다가 가운데

2에다가 마이너스

 

#include <DHT.h>
#define DHTTYPE DHT11

int pinGnd = 4;
int pinVcc = 3;
int pinDht = 2;

DHT dht(pinDht, DHTTYPE);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(pinVcc, OUTPUT);
  pinMode(pinGnd, OUTPUT);
  digitalWrite(pinVcc, HIGH);
  digitalWrite(pinGnd, LOW);

  dht.begin();
}

void loop() {
  // put your main code here, to run repeatedly:
  delay(2000);
  float fTemp = dht.readTemperature();
  float fHumi = dht.readHumidity();

  if(isnan(fTemp) || isnan(fHumi)) {
    Serial.println("Falled to read from DNT semsor!");
    return;
  }
  Serial.print("Temperature : ");
  Serial.print(fTemp);
  Serial.print("[C]\t ");
  Serial.print("Humidity: ");
  Serial.print(fHumi);
  Serial.print("%\n");    
  }

 

 

입김부니깐 올라감

블로그 이미지

Or71nH

,

됫다

코드

 

int ledPin = 10; //LED가 연결된 아두이노의 디지털 10번(D10)은 "ledpin"으로 정의
int inPin = 7; //디지털 버튼 7
int val;

void setup() {
  // put your setup code here, to run once:
    pinMode(ledPin, OUTPUT); // ledpin(D10)은 출력
    pinMode(inPin,INPUT); // inpin(D7)은 버튼
}

void loop() {
  // put your main code here, to run repeatedly:
    val = digitalRead(inPin); //val 버튼 입력 정의
    if( val == LOW)   //val 버튼 입력이 LOW이면
      digitalWrite(ledPin, LOW);  //LED 꺼짐
    else              // 아니면
      digitalWrite(ledP in, HIGH); //LED 켜짐
}

이제

선을 잘 뽑아준다

이리 만들면됨

번호는 상관없음

세로 줄만 잘맞추면됨

블로그 이미지

Or71nH

,