Home Assitant - 설치1

 Home Assistant 설치 Home Assistant 홈페이지 : https://www.home-assistant.io/ 1. 설치 Home Assistant를 설치하는 방법으로는 몇 가지가 있다. 가장 쉬운 방법 Home Assistant가 설치된 장비를 사면 된다. https://www.home-assistant.io/green 쉬운 방법 라즈베리파이에 Home Assistant를 설치하는 것이다. 어려운 방법 X86-64 디바이스에 Home Assistant를 설치하는 것이다.  음, 집에 남는 노트북이 있어 난 "어려운 방법"으로 진행하고자 한다. 필요한 SKILL 부팅에 필요한 디바이스 필요 (예를 들면, 부팅용 USB 등) BIOS를 다룰 줄 알아야 한다. 필요한 도구 x86-64 디바이스 하드디스크 USB 이더넷 연결에 필요한 도구 (예를 들면, 케이블 등등) 음, 모든 게 다 준비된 듯

vTigerCRM 7 구축하기 - 2. AMP(Apache2, MySQL, PHP) 설치하기

VtigerCRM 7.0을 설치하기 위한 조건은 다음과 같습니다. Apache 2.1 이상 MySQL 5.1 이상 storage_engine = InnoDB 로 설정 local_infile = ON ([mysql] 섹션에서 설정) 으로 설정 sql_mode = empty(혹은 NO_ENGINE_SUBSTITUTION), MySQL 버전이 5.6 이상인 경우 PHP 5.2 이상, 7.0 이상 php-imap 설치 필요 php-curl 설치 필요 php-xml 설치 필요 memory_limit : 최소 256MB 이상 max_execution_time : 최소 60초 이상 error_reporting : E_ERROR & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 로 설정 display_errors = OFF로 설정 short_open_tag = OFF로 설정 하드웨어 RAM : 4GB 이상 HDD : 250GB 이상 ======================================================= 하나하나 확인해 봅시다. Apache 2.1 이상 Apache2는 아래 명령어로 설치됩니다.  sudo apt install apache2 sudo apt install ssl-cert sudo apt install certbot sudo service apache2 restart 설치 후 버전을 확인합니다.  sudo apache2 -v Server version: Apache/2.4.29 (Ubuntu) Server built:   2019-09-16T12:58:48 Apache2는 2.1 버전 이상이고, 설치된 버전은 2.4.29이므로, 만족합니다.  기본 언어셋을 변경합니다. vi /etc/apache2/conf-available/charset.conf AddDefaultCharset UTF-8 활

vTigerCRM 7 구축하기 - 1. OS 설치하기

vTiger CRM을 사내에 구축하여 사용하고 있습니다. CRM은 고객정보를 관리하는 도구로 잘 사용하면 상당히 편리하며, 효율적이기까지 합니다. 최초 사용한 버전은 vTigerCRM 5였으며, 이후 vTigerCRM 6으로 업데이트하여 현재까지 사용하고 있습니다. 신규로 vTigerCRM을 재구축하여 다른 용도로 사용할 기회가 생겨 이제 vTiger 7로 구축을 해 보려고 합니다. vTigerCRM을 구축할때는 우분투 서버 14.04.4 TLS 버전을 사용하였습니다만, 지금 vTigerCRM 7을 설치하려고 보니 우분투 서버 18.04.3 TLS 버전이 나와 있습니다. OS부터 생소하네요. ㅎㅎ OS를 설치하다 보니 LAMP 패키지를 선택하는 항목도 없네요. 인터넷을 보니 따로 설치해야 하는 듯 합니다. 우선 네트워크 IP부터 잡아 봅니다. 네트워크 설정은 18버전부터 상당히 변경되었습니다. bear@crm99:/$ ls /etc/netplan/ 50-cloud-init.yaml bear@crm99:/$ cat /etc/netplan/50-cloud-init.yaml # This file is generated from information provided by # the datasource.  Changes to it will not persist across an instance. # To disable cloud-init's network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network:     ethernets:         eno1:             dhcp4: true     version: 2 bear@crm99:/$ ifconfig -a eno1: flags=41

CNC 만들기 #5 - G Code

G Code 참고 링크 :  http://www.linuxcnc.org/docs/2.4/html/gcode_overview.html#sec:Modal-Groups 1. G Code란 G Code는 RS274/NGC 언어를 기본으로하는 EMC2 G Code 언어이다. G Code는 라인으로 구성되는데, 이 각 라인을 "block"으로 부른다. 이 라인은 여러가지 다른 일을 할 명령어셋으로 구성될 수 있다. 각 명령어라인(이하 블럭)은 하나 혹은 다수의 글자들(words)로 시작하는데, 이 글자들 뒤에는 숫자들이 따로오게 되어 있다. 예를 들면, "G1 X3"이라는 블럭은 2개의 글자로 구성되어 있다. "G1"은 기존에 설정되어 있는 속도로 직선운동을 하라는 것이고, "X3"은 G1의 인자로 인식된다. 대부분의 EMC2 G Code는 G(General) 혹은 M(Miscellaneous)로 시작하고, 각각 G Code, M Code로 불린다. EMC2 언어는 프로그램의 시작을 알리는 지시자가 없고, 인터프리터는 파일 단위로 처리한다. 하나의 프로그램은 하나의 파일일 수도 있고, 여러 파일로 구성될 수도 있다. 파일 내에서는 %로 구분한다. 파일이 %로 시작하지 않으면 에러를 발생시키지만, 종료시에는 해당사항이 없다. EMC2 G Code 언어는 M2 혹은 M30이라는 2개의 특수 명령어를 가지고 있다. 이 명령어들은 프로그램의 종료를 명시한다. 즉, 파일의 최종라인까지 실행하기 전에 이 명령어가 실행되면 프로그램이 종료된다. 1.1 명령어 라인 형식 아래 형식을 허용한다. "/" line number 모둔 문자 라인 종료문자 (캐리지리턴 혹은 라인피드) 명시적으로 허용하는 문자 이외는 모두 에러로 처리된다. 스페이스문자와 탭문자는 허용되지만, 아무런 영향을 끼치지 않는다. 예를 들어 "G0X +0. 12

CNC 만들기 #6 - GRBL V1.1 설정

GRBL V1.1 설정 참고사이트 :  https://github.com/gnea/grbl/wiki/Grbl-v1.1-Configuration GRBL 바이너리를 올린 아두이노 보드에 터미널접속을 하면 아래 프롬프트가 나오게 된다. Grbl 1.1f ['$' for help] $를 입력하면 도움말이 나온다. [HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H ~ ! ? ctrl-x] $로 시작하는 명령어($$ $# $G ...... $H)들은 GRBL 시스템 명령어들로 GRBL의 설정을 조정하거나 상태를 조회하거나 실행모드를 변경하는데 사용된다. $로 시작하지 않는 4개의 명령어(~ ! ? ctrl-x)는 실시간 명령어들로 GRBL이 어떤 일을 하든 상관없이 바로 명령어를 실행할 수 있다. 실시간 명령어는 GRBL의 동작을 즉시 변경하거나 현재의 위치와 같은 중요 데이터를 출력할 수 있다. GRBL 설정하기 설정값은 EEPROM에 지속적으로 저장되므로, 아두이노를 재 기동 시 설정한 값들을 불러오게 된다. $$ : GRBL 설정 보기. 이전 버전에는 () 안에 해당 설정값의 설명이 들어 있었으나, v1.1에는 없음. $0 : Step pulse, microseconds. 스테퍼 드라이버는 최소 스텝 펄스 길이값을 가지고 있다. 스태퍼 드라이버의 데이터 시트를 확인하고, 조정하기 바란다. 당신은 스태퍼 드라이버가 인지할 수 있는 최소 펄스 길이를 원할거다. 만약 펄스가 너무 길면, 매우 높은 펄스속도로 시스템을 구동시킬 때 펄스끼리 오브랩되는 문제가 발생할 것이다. 우리는 대략 10 microseconds의 값을 추천한다.  $1 : Step idle delay, milliseconds. 스텝 모터가 동작을 종료하고 멈출 때마다 GRBL은 이 값을 기준으로 전원 종료를 지연시킨다. 혹은 당신이 전 축을 지속적으로 전원을 인가하여 위치를 유지시키길 원한다면 $1

CNC 만들기 #4 - Wiring

1. DC 파워서플라이와 스텝모터 드라이버 연결 http://www.hobbycncaustralia.com.au/Instructions/iI71DIV268NToPower.htm 2. 스텝모터와 스텝모터드라이버 연결 http://www.hobbycncaustralia.com.au/Instructions/iI9wirestepper.htm 3. 아두이노와 스텝모터드라이버 연결 https://github.com/gnea/grbl/wiki/Connecting-Grbl https://www.youtube.com/watch?v=SeqlgZLqI-k

CNC 만들기 #3 - 부품선정 자료 #2 - 스텝모터 드라이버

스텝모터 전류에 맞는 드라이버 확인 관련자료 :  https://www.dfrobot.com/wiki/index.php/TB6600_Stepper_Motor_Driver_SKU:_DRI0043 http://motioncontrol.co.kr/default/news/?nwsid=n3&uid=5426 https://kocoafab.cc/tutorial/view/226 주의할 것은 스텝모터는 상 암페어(Amps/Phase)로, 드라이버는 암페어피크(Amps Peak) 값으로 명시하기 때문에 Amps Peak = 1.41 * Amps/Phase 관계를 잘 알고 이해해야 한다. 만약 스텝모터 스펙이 3A라고 하면, Amps Peak = 1.41 * 3A이다. 따라서, Amps Peak = 4.23A를 골라야 한다는 것이다. => 추정임 확실한 것 아님. 스텝모터 분주 설정하기 관련자료 :  http://blog.naver.com/PostView.nhn?blogId=sonsco&logNo=220207043876 https://blog.naver.com/zzzudol/220484532463 스텝모터 드라이버는 분주 설정 및 전류 설정을 해야 한다. FULL STEP : 1 Step 당 1.8도, 360도 1회전 시 200 Step 필요 HALF STEP : 1 Step 당 0.9도, 360도 1회전 시 400 Step 필요하며, FULL STEP에 비해 회전력이 약 30% 감소하지만, 매끄러운 움직임을 생성 MICRO STEP : FULL STEP에 비해 회전력이 약 30% 감소 1/4 STEP : 1 Step 당 0.45도, 360도 1회전 시 800 Step 필요 1/8 STEP : 1 Step 당 0.225도, 360도 1회전 시 1600 Step 필요 1/16 STEP : 1 Step 당 0.1125도, 360도 1회전 시 3200 Step 필요 1/32 STEP : 1 St