Ebay 등에서 저렴한 아두이노를 사면 문제가 하나 있는데, 바로 드라이버 인식이 바로 안된다...


본래 사용되는 FT232RL 등의 USB 칩은 인증이 되어있거나 이미 탑재된 경우가 대다수인데,

자체 정책으로 $3 이하로는 못판다나 뭐라나..


여튼 그래서 중국에서 CH340, CH340G or CH341 등의 칩셋을 대신 사용하는데, 이 경우 Windows 건 Mac 이건 따로 커널 드라이버를 설치해줘야함은 물론 signing 도 받지 않아 여러 경고문..을 볼 수가 있다.


----------------------------

수정.


https://tzapu.com/ch340-ch341-serial-adapters-macos-sierra/


이 주소에서 드라이버를 받으면 rootless 를 끄지 않고도 인식 및 사용가능!

sierra 이후는 아래 방법으로 진행하면 연결시 커널패닉.. 이 일어난다.

그냥 윗 링크에서 받아서 사용하자.


----------------------------


Mac 의 경우 rootless 기능이 생기면서 좀 곤란해졌는데, 쉽게 말해 rootless 를 끄지 않으면 사용할 수 없다..


커널 익스텐션 체크만 끌 수 있다는게 다행이면 다행이려나..


여튼,

1. 재부팅하면서 Cmd+R 을 눌러 복구모드로 진입한다

2. 터미널을 실행한다

3. csrutil enable --without kext

4. 재부팅



참고:

http://tzapu.com/making-ch340-ch341-serial-adapters-work-under-el-capitan-os-x/


드라이버 (for MAC):

http://www.wch.cn/download/CH341SER_MAC_ZIP.html

망할 윈도우... BMP 쓰기가 너무 싫어 몇시간을 삽질했다..


GDI+ 를 사용하므로 

gdiplus.lib 

를 프로젝트 속성 - Linker - Input - Additional Dependencies 에 넣어주고


#include <gdiplus.h>

using namespace Gdiplus;


를 코드 상단에 적어주자.





위 코드로 

HBITMAP hBitmap = LoadPNGToHBITMAP(MAKEINTRESOURCE(IDB_PNG));

와 같이 이미지를 불러온 후에


WM_PAINT 메세지에서 아래 더보기와 같이 그려주면 된다.

사이즈는 원래 구하는 코드가 있었는데, 난 필요없어서 제거함. 그정도는 구글링하자.(후에 내 자신을 원망하겠지..)




* VS 2015 에서 VS 2010 의 컴파일러를 사용하여, Win XP SP3 및 Win 7 SP1 에서의 작동을 확인하였다.


'개발개발 > 기타' 카테고리의 다른 글

Python euc-kr 인코딩 변환 및 길이 계산하기  (0) 2016.04.03
[Mac / Ubuntu] Go (golang) 설치하기  (0) 2015.12.22
Surrounded 스킨 깨짐 해결  (0) 2015.06.07
python to exe  (2) 2015.02.25
[XCode5] 부분적으로 MRC 사용  (0) 2013.12.15


수동으로 동기화

sudo ntpdate pool.ntp.org


자동으로 동기화 (데몬 설치)

sudo apt-get install ntp


참고 (사실 여기에 다 있음)

https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-12-04

아두이노로 인터넷 연결을 사용하고 싶었으나, 학교 무선망은 기업용 WPA2 였고, 이는 OS 레벨단의, 잘 만들어진, 인증이 없으면 사용하기 힘들다는 글들만...


가능한 모듈이 있다고 한들 그 가격이 비쌀것이기에 결국 라즈베리파이로 눈을 돌렸다.


라즈베리파이에서도 연결하는게 쉽진 않았지만 여튼...


설정법이 워낙 다양하겠지만, 우리학교(UNIST)에선 이렇게 가능했다.


참고로 우리 학교 공용망에 대해 간략히 설명하자면

SSID: WUNIST_AAA

보안종류: WPA2 Enterprise

암호화: AES

네트워크 인증 방법: PEAP

EAP 인증 방법: MSCHAP v2

*서버 인증서 유효성 검사 하지 않음


1. wpa_supplicant 설정

우선

/etc/wpa_supplicant/wpa_supplicant.conf

이 파일의 내용을 수정한다.



ssid 는 알거고,

key_mgmt 는 개인용이 WPA-PSK / 기업용이 WPA-EAP

proto 랑 pairwise 는 아래 표 참고

 

WPA1 

WPA2 

proto 

WPA 

RSN 

pairwise

TKIP

CCMP 

identity 랑 password 는 인증정보 알아서 입력해주면 되고,

scan_ssid / eap / phase1 / phase2 등도 위와 같이 입력해주면 된다.


뭐 없어도 되는 값들이 있을 수 있지만, 그냥 저 상태로 잘 되길래 더이상 터치 안했다.


보통 ca_cert 값에, pem 파일을 넣을텐데, 위에 적었듯이, 서버 인증서 유효성 검사를 하지 않을 경우 생략하면 된다.



2. 설정 확인

설정 및 인증이 잘 되는지 확인해보려면 아래와 같은 명령어를 사용한다.

우선 네트워크 연결을 꺼주고..

# ifdown wlan0

우리가 만든 설정파일로 연결을 시도한다.

# wpa_supplicant -Dwext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

(혹시나 네트워크 이름이 wlan0 이 아닐경우 바꿔주자.)


참고로 -B 옵션은 백그라운드. 밑에선 쓴다.


로그를 읽어보면 '아 안됐구나..' / '어 된건가?'

하는 감이 온다.(귀찮)



3. network interface 설정

/etc/network/interfaces 를 아래와 같이 수정해준다.


lo, eth0 인터페이스들은 알아서 하고,



이렇게 입력해준다.


4. 연결하기

# ifdown wlan0

# ifup wlan0


을 한 후, 로그에서 DHCP 로 아이피까지 잘 받아오면 성공.


나의 경우 2번에 한번 꼴로 잡는 것 같은데, 왜그런진 잘 모르겠다.

재부팅시마다 잘 잡아야 할텐데...;;;


그냥 시간이 좀 걸리는 것 같기도 하고....



참고 URL

http://weworkweplay.com/play/automatically-connect-a-raspberry-pi-to-a-wifi-network/

https://www.raspberrypi.org/forums/viewtopic.php?p=353961

별로 추천하지 않는 방법이라곤 했지만.. 깔끔하게 하고 싶어서 이렇게 했었다.

/w/ 으로 변경하긴 했지만...


하위 디렉토리 없게 (http://aaa.bbb.ccc/대문)

/.htaccess

/wiki/~~~~


.htaccess


wiki/LocalSettings.php



뭐.. 다들 한번씩 겪는 것 같은데, 리모트 푸시의 Token 을 제대로 못 받아오는 문제..


Target Provisioning Profile 에서 push 용으로 받은거 잘 골라주고,

iOS8 에서 변경된 푸시 등록 방법을 사용하면 잘되야 정상이다. (각각 방법은 알아서 찾아보기.)


Push 세팅을 리셋해주고 다시 하니까 잘 되던데,

Apple 에선

1. 앱을 지우고

2. 재부팅을 하고

3. 날짜를 하루 당겼다가 돌아오고

4. 재부팅


이라고 안내하는데, 난 이게 귀찮아서,,, 탈옥폰의 장점은 이게 아니겠는가!


/var/mobile/Library/BackBoard/applicationState.plist

에서 해당 앱과 관련된 키를 지워버리고 BackBoard 를 재시작 한다.


$ killall backboardd


그리고 다시 앱을 시작하면 푸시 권한을 다시 물어보고, 허용해주면 잘 됨!

근데 php-apn 이녀석 뭔가 잘 안된다. 쓰지 말자.


1. libcapn 설치

$ sudo apt-get install cmake


$ git clone git://github.com/adobkin/libcapn libcapn

$ cd libcapn

$ git submodule init

$ git submodule update


$ mkdir build

$ cd build

$ cmake ../


$ make

$ sudo make install


2. php-apn 설치

sudo pecl install apn


3. php.ini (/etc/php5/apache2/php.ini) 에 extension=apn.so 추가

* 나의 경우 933 라인에

;extension=apn.so

라고 이미 있어서 앞에 주석만 제거해줬음.

apc.so 였다.... 왜 안돼나 했네ㅠ

apn.so 를 잘 추가해주도록 하자.



4. 하라곤 안적혀 있었지만 왠지 해야될 것 같은

$ sudo service apache2 restart



http://libcapn.org/php-apn/

http://stackoverflow.com/questions/25659013/cannot-install-apn-in-php-for-ios-push-notifications-on-ubuntu

http://libcapn.org/doc/html/install.html#unix

'Linux, Server, Web' 카테고리의 다른 글

우분투 시간 동기화  (0) 2015.11.01
MediaWiki URL 설정  (0) 2015.07.30
Apache2 userdir 모듈에서 php 작동안함 문제  (0) 2015.06.28
특정 국가(중국!!) 차단하기  (0) 2013.10.19
Permanently Redirect (301)  (0) 2013.09.28

난 userdir 을 별로 좋아하지도 않고 따라서 잘 쓰지도 않는데,

동아리 서버는 특성상 해당 모듈을 켜두고 있었다.


근데 동아리 친구로부터 "php 파일이 다운로드 되는데 내 컴이 이상한거야?"

라는 문의를 받고..


확인해보니 php가 그냥 다운받아져버리는 심각한 문제를 확인..


실서비스 중인 것도 몇개 해당 서버에 있었기에, 최근 패키지 업데이트 이후 설정이 꼬인 문젠가 싶어서 급하게 확인해봤는데

다행히 그냥 userdir 안의 파일들만 그러하였다. 물론 그렇다고 문제가 없는건 아니지만..


=========== 여기까지 쓸데없는 서론 =================


여튼, 결론만 말하자면, userdir 안에서의 php 모듈이 기본적으로 disable 상태이다.


/etc/apache2/mods-enabled/php5.conf

파일에서

<IfModule mod_userdir.c>

    <Directory /home/*/public_html>

        php_admin_value engine Off

    </Directory>

</IfModule>


부분을 전체 주석처리(#) 해버리면 된다.

Off를 On 으로 바꾸는것 또한 가능하지만,

.htaccess 파일을 이용하여 php 를 꺼버리는(보통 업로드 폴더에서 보안을 목적으로 주로 해둔다.) 작업이 불가능해지므로

그냥 주석 처리 혹은 지워버리는 것을 추천.



참고:

http://devplant.net/2010/05/04/linux-php-not-working-in-userdir-public_html/


'Linux, Server, Web' 카테고리의 다른 글

MediaWiki URL 설정  (0) 2015.07.30
[Ubuntu] php-apn 설치하기  (0) 2015.07.02
특정 국가(중국!!) 차단하기  (0) 2013.10.19
Permanently Redirect (301)  (0) 2013.09.28
Unix, Linux, BSD, 그리고 MacOS  (0) 2013.01.03




Tistory 에서 뭐가 바뀌었는지 모르겠지만,

최근에 Surrounded 스킨을 쓰는 블로그들이 하나같이 이렇게 변해버렸다..


귀찮아서 냅두고 있었는데, 생각이나서(시험기간이니) 수정해보았다.


관리 - HTML/CSS편집 메뉴에서 아래 style.css


사진과 같은 곳을 찾아, 드래그한

padding-right: 16px;

부분을

padding-right: 15px;

로 변경한다.


그러면 현재 내 블로그 상태처럼 정상으로 돌아옴.

'개발개발 > 기타' 카테고리의 다른 글

[Mac / Ubuntu] Go (golang) 설치하기  (0) 2015.12.22
winapi gdi+ image load and convert to HBITMAP  (0) 2015.11.02
python to exe  (2) 2015.02.25
[XCode5] 부분적으로 MRC 사용  (0) 2013.12.15
XCode4 업데이트  (1) 2011.03.11

아무래도 python 으로 프로그램을 짜기가 쉽다.


라이브러리가 많기도 하고...

윈도우 프로그램 개발할 일이 있었는데, c++ 로 개발하긴 귀찮아서 파이썬을 택했다.

(그냥 c++ 할걸 하는 후회도 약간 있긴 하지만 여튼.)



GUI 제작은 wxPython 을 사용하였고..

맥에서 주로 테스트를 하다가 윈도에서 한번씩 확인해보는 방식으로 개발하였다.

뒤늦게 알았는데, sys.platform 값을 darwin /win32 로 분기해서 구분하면 좀 더 편함.



마지막으로 만든 파이썬 스크립트를 배포용으로 만들 필요가 있었는데 여기서 애를 먹었다.


우선 난 Python 2.7.


처음에 py2exe 를 시도하였으나 안됨.


그 다음으로 cx_Freeze 를 사용하였는데 만들어지긴 하나 라이브러리 파일들이 덕지덕지 튀어나온다.

패커? 같은걸로 해보려 했으나 뭔가 잘 못찾겠어서 패쓰.

아래 문서의 도움을 잘 받았당

http://stackoverflow.com/questions/20754180/cx-freeze-bundling-files



그래서 그 다음으로 선택한게 PyInstaller.

처음 설정하기가 뭔가 좀 애먹었긴 한데 잘 된다.


단지, onefile 옵션을 주면 실행할 때 리소스를 임시폴더에 푼 다음 실행을 하는 것 같다.

프로그램 상에서 리소스를 불러올 때 resource_path 를 따로 계산해줘야 함.

http://stackoverflow.com/questions/7674790/bundling-data-files-with-pyinstaller-onefile

이 글을 참고하자.


(PyInstaller 기준) icon 파일은 .spec 파일에 기술했을 경우에 알아서 포함한다.


* 그런데... PyInstaller 는 만들고 난 결과 파일이 있는 경로에 한글이 섞여있으면 에러가 난다....ㅂㄷㅂㄷ....

Python 으로 exe 만들기 뭔가 험난하네....ㅠㅠㅠ


'개발개발 > 기타' 카테고리의 다른 글

[Mac / Ubuntu] Go (golang) 설치하기  (0) 2015.12.22
winapi gdi+ image load and convert to HBITMAP  (0) 2015.11.02
Surrounded 스킨 깨짐 해결  (0) 2015.06.07
[XCode5] 부분적으로 MRC 사용  (0) 2013.12.15
XCode4 업데이트  (1) 2011.03.11

+ Recent posts