DHT11 / DHT22

온습도 센서로 DHT11을 구매하여 사용중이었으나 제품별 편차, 성능상의 오차가 데이터시트 이상 뿐만 아니라 상상을 초월하여 조금더 정밀한 DHT22를 구매하였다.

여기 에서 좀더 자세한 설명을 하고있다.
차이점은 위 그림과 같은데 실온사용 목적이면 오차가 줄어드는거 외에는 신경쓸 부분이 없다.
실제 느낀 DHT11의 온도 오차는 최대 5℃ 정도이며 값을 읽어올때마다 1~2℃단위로 편차가 발생하였다. 습도 오차는 15%에 달하며 그냥 의미없는 값처럼 느껴졌다. (실내 습도가 40%인데 25%를 기록한다던지..)
DHT22는 샘플링레이트는 반토막이 났지만 제품 편차도 적고 온도오차 1℃ 내외, 습도 5% 내외로 그나마 신뢰할만한 데이터를 가져올 수 있었다.
다만 가격차이는 DHT11이 1천원내외 DHT22가 3천원내외로 3배 차이 …(국내 판매가격은 저기서 2배를하면..)

물론 더 좋고 더 정밀하고 더 비싼 센서들도 많겠지만 값을 읽어오는 연습용이면 DHT11, 그 값에 의미를 두기 위한 용도면 DHT22이상의 센서를 사용하는것이 좋을것 같다.

알리발 무선 충전기

무선충전기 이게 효율이 병신이면서도 생각보다 편해서 알리에서 2개를 추가구매하였다
3주 걸려 받은 그린, 레드 색상의 충전기를 USB테스터를 이용해서 Current를 찍어보니 그린은 2A까지 땡겨가는데 레드는 0.8A밖에 못땡긴다. 게다가 같은모델에 색상만 다를뿐인데 충전위치도 다르고 LED 의 불빛도 다르고 외형 말고는 같은게 없었다.
뭐가 문제인가 싶어서 뜯어보니 껍데기만 같고 충전회로는 다른제품..

먼저 그린색
코일 뒤 원판? 자석이 붙는걸 봤을땐 철제 재질인거같은데 이게 깨져있고 코일부분이 고정이 되지않아 안에서 굴러다닌다.

어디서 많이보던 익숙한 stm mcu가 보인다. LM324 (Quad-Operational Amplifiers)도 눈에 띈다.

다음은 레드
LM358(Dual-Operational Amplifiers)과 마킹이 되어있지않은 IC가 보인다. 칩LED를 사용하였다. 코일부분은 동일하였고 원판의 파손은 없었다.

Amplifier가 무선충전에서 어떤역할을 하는지 모르겠지만 듀얼과 쿼드 차이라니 i5와 i7의 차이처럼 느껴진다.
적당히 글루건으로 코일 고정시키고 조립해서 사용중, 편하다.
쿼드가 전류도 많이땡겨가니까 충전속도도 빠르겠지?

PL-2303 Code 10 error

알리에서 싸다고 UART2USB 이런거 사면 PL2303칩 들어간걸 받게된다
문제는 리눅스는 별이상 없이 인식하는데 윈도우에서는 CODE 10 에러를 띄운다
제조사에서는 저렴한 FAKE 칩 쓰면 그렇다고 한다

리눅스에서 인식되는 정보 “067b:2303 Prolific Technology, Inc. PL2303 Serial Port”

뭐 이미 샀으니까 버리긴 아깝고 드라이버를 Fake detect 하기 이전의 버전으로 내리면 문제는 해결된다.
http://www.totalcardiagnostics.com/support/Knowledgebase/Article/View/92/20/prolific-usb-to-serial-fix-official-solution-to-code-10-error
여기서 받은 64bit 32bit를 설치하면 된다

다음에 살때는 PL2303은 피해서 사야겠다..

Linux Loop Device

losetup 으로 루프디바이스를 설정하면 파티션들이 보여야되는데 보이지 않는 문제 발견

http://askubuntu.com/questions/69363/mount-single-partition-from-image-of-entire-disk-device#673257

loop module max_part config
This is a decent method before 16.04.
loop is a kernel module, built into the kernel in Ubuntu 14.04.
If you configure it right, Linux automatically splits up the devices for you.
If you configure it right, Linux automatically splits up the devices for you.

cat /sys/module/loop/parameters/max_part

says how many partitions loop devices can generate.
It is 0 by default on Ubuntu 14.04 which is why no auto-splitting happens.
To change it, we can either add:

options loop max_part=31

to a file in /etc/modprobe, or:

GRUB_CMDLINE_LINUX="loop.max_part=31"

to /etc/default/grub and then sudo update-grub.
How to set a module parameter is also covered at: How to add kernel module parameters?
After a reboot, when you do:

sudo losetup -f --show my.img

it mounts the image to a /dev/loopX device, and automatically mounts the partitions to /dev/loopXpY devices.

의 해결책은 조금 귀찮으므로
https://lwn.net/Articles/274113/
에서 제시한  “modprobe loop max_part=63” 를 사용,

root@debian:~/z# ls /dev/loop0p*
/dev/loop0p1 /dev/loop0p2 /dev/loop0p3 /dev/loop0p4 /dev/loop0p5 /dev/loop0p6 /dev/loop0p7

잘된다