'2020/05/13'에 해당되는 글 3건

  1. 2020.05.13 node.js onoff
  2. 2020.05.13 라즈베리 파이 무선공유기 만들기(비밀번호 없이)
  3. 2020.05.13 dhcpcd 설정
embeded/raspberry pi2020. 5. 13. 21:50

wiringpi와는 다르게 BCM 쪽의 번호를 써야 하는 차이가 있다.

그리고 onoff 모듈은 pwm은 지원하지 않아서 다른걸 써야 할 듯..

 

아래는 gpio 유틸리티로 설정하는 부분 이고 아래의 포트는

// 초기설정
sudo gpio mode 21 out
sudo gpio mode 22 out
sudo gpio mode 23 pwm

 

node.js onoff 에서는 다음과 같이 다른 번호를 사용하게 된다.

const Gpio = require('onoff').Gpio;

var in1 = new Gpio(5, 'out')
var in2 = new Gpio(6, 'out')
var in0 = new Gpio(13, 'out')

in1.writeSync(1)
in2.writeSync(0)
in0.writeSync(1)

 

 

[링크 : https://www.npmjs.com/package/onoff]

 

 

PWM 지원하는 녀석 이라는데 코드를 막상보면

PWM을 하드웨어로 구현하는게 아니라 타이머를 이용해서 소프트웨어 PWM으로 구현한 듯

const Gpio = require('pigpio').Gpio;
 
const led = new Gpio(17, {mode: Gpio.OUTPUT});
 
let dutyCycle = 0;
 
setInterval(() => {
  led.pwmWrite(dutyCycle);
 
  dutyCycle += 5;
  if (dutyCycle > 255) {
    dutyCycle = 0;
  }
}, 20);


[링크 : https://github.com/fivdi/pigpio]

'embeded > raspberry pi' 카테고리의 다른 글

RC카 node.js was 제작 1차 완료  (0) 2020.05.14
node.js raspi-pwm  (0) 2020.05.14
node.js onoff  (0) 2020.05.13
라즈베리 파이 무선공유기 만들기(비밀번호 없이)  (0) 2020.05.13
dhcpcd 설정  (0) 2020.05.13
라즈베리 파이 iwlist, iwconfig 로 무선접속하기  (0) 2020.05.09
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2020. 5. 13. 20:23

패키지 설치

$ sudo apt-get install hostapd dnsmasq

 

hostapd 설정

wpa_로 시작하는 것을 주석풀면 WPA-PSK로 암호 '1234567890' 을 사용 AP를 구동한다.

$ cat /etc/hostapd/hostapd.conf
interface=wlan0
hw_mode=g
channel=7
wmm_enabled=0
ignore_broadcast_ssid=0
ssid=NETWORK

macaddr_acl=0
auth_algs=1
#wpa=2
#wpa_passphrase=1234567890
#wpa_key_mgmt=WPA-PSK
#wpa_pairwise=TKIP
#rsn_pairwise=CCMP

 

dnsmasq 설정

dhcpcd 필요한줄 알았는데 dhcpcd 없이 바로 구동된다.

$ cat /etc/dnsmasq.conf

interface=wlan0 

  dhcp-range=192.168.0.11,192.168.0.30,255.255.255.0,24h

 

+

테스트용으로 nginx 설치하고, 핸드폰으로 해당 AP에 접속하고

크롬을 통해 192.168.0.10 으로 접속하니 ngnix 페이지가 정상적으로 뜬다.

$ ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.10  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::a73b:b28c:e97:7810  prefixlen 64  scopeid 0x20<link>
        ether 4c:e6:76:90:50:d5  txqueuelen 1000  (Ethernet)
        RX packets 1014  bytes 151616 (148.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 931  bytes 152637 (149.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
Posted by 구차니

댓글을 달아 주세요

embeded/raspberry pi2020. 5. 13. 18:51

결론만 말하자면

dhcpcd 만으로는 무선 공유기 처럼 만드는건 실패.

dnsmasq가 있어야 한다.

 

+

테스트 해보니 dhcpcd 없이 hostapd + dnsmasq 만으로 ap가 만들어진다.

 

--

 

dhcpcd 패키지 설치해주고

아래의 설정내용을 넣어주면 끝.

 

$ sudo apt-cache search dhcpcd
dhcpcd - DHCP client for automatically configuring IPv4 networking
$ sudo vi /etc/dhcpcd.conf
interface wlan0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8

[링크 : https://wiki.archlinux.org/index.php/dhcpcd]

 

+

기본 설정시 DHCP 잡는 임의 영역 IP인 169.254.71.x로 잡히는데

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 169.254.71.187  netmask 255.255.0.0  broadcast 169.254.255.255

 

dhcpcd.conf의 static_ip_address를 169.254.71.0/24로 설정하니

아래와 같이 carrier lost 뜨면서 되지 않는다.

아마 DHCP 잡는 reserved ip 영역이라 그런게 아닐까 추측됨.

$ systemctl status dhcpcd
● dhcpcd.service - dhcpcd on all interfaces
   Loaded: loaded (/lib/systemd/system/dhcpcd.service; enabled; vendor preset: enabled)
   Active: failed (Result: signal) since Wed 2020-05-13 18:23:15 KST; 5min ago
  Process: 1694 ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -b (code=exited, status=0/SUCCESS)
 Main PID: 1696 (code=killed, signal=SEGV)

 5월 13 18:23:14 raspberrypi dhcpcd[1696]: wlan0: carrier acquired
 5월 13 18:23:14 raspberrypi dhcpcd[1696]: wlan0: IAID 76:90:50:d5
 5월 13 18:23:14 raspberrypi dhcpcd[1696]: wlan0: adding address fe80::a73b:b28c:e97:7810
 5월 13 18:23:14 raspberrypi dhcpcd[1696]: wlan0: using static address 169.254.71.187/24
 5월 13 18:23:14 raspberrypi dhcpcd[1696]: wlan0: adding route to 169.254.71.0/24
 5월 13 18:23:14 raspberrypi dhcpcd[1696]: wlan0: carrier lost
 5월 13 18:23:14 raspberrypi dhcpcd[1696]: wlan0: deleting address fe80::a73b:b28c:e97:7810
 5월 13 18:23:15 raspberrypi dhcpcd[1696]: wlan0: deleting route to 169.254.71.0/24
 5월 13 18:23:15 raspberrypi systemd[1]: dhcpcd.service: Main process exited, code=killed, status=11/SEGV
 5월 13 18:23:15 raspberrypi systemd[1]: dhcpcd.service: Failed with result 'signal'.

 

$ dmesg
[  542.390642] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  542.423897] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  542.451050] WARN::dwc_otg_hcd_urb_dequeue:639: Timed out waiting for FSM NP transfer to complete on 0
[  543.220943] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[  543.922372] WARN::dwc_otg_hcd_urb_dequeue:639: Timed out waiting for FSM NP transfer to complete on 3

 

+

ip 주소를 가져오는 중에서 넘어가질 않네..

인증이 문제인가?

Posted by 구차니

댓글을 달아 주세요