파이선 참고자료

 

documents : https://docs.python.org/ko/3/tutorial/index.html

formatters : https://pyformat.info/

w3강좌 : https://www.w3schools.com/python/python_getstarted.asp

예제 300 : wikidocs.net/book/922

'프로그래밍' 카테고리의 다른 글

Python 사용시 SSL에러관련  (0) 2020.08.05

step1) https://www.anaconda.com/products/individual

        

          download install file,  'Anaconda3-2020.07-Linux-x86_64.sh'.

          >> bash Ana*.sh

         after install anaconda

          command : pip install tensorflow 

          (using Anaconda Powersell prompt on windows)

 

step2) https://www.tensorflow.org/install

         using Jupyter Notebook

          >> import tensorflow as tf

          >> tf.__version__

 

        install plugin 'code assist','TabNine'. 
        When you typed,  Click "Shift+space"  

 

 

step3) https://pytorch.org/

on screen, recommend install command

example) conda install pytorch torchvision cudatoolkit=10.2 -c pytorch

          using Jupyter Notebook

          >> import torch

          >> torch.__version__

 

'IT' 카테고리의 다른 글

유투브 라이브 방송  (0) 2021.05.09
cordova설치시 ssl로 인한 애러 발생시  (0) 2020.10.20
Syntaxhighlighter 설정하여 프로그램 코드 넣어 표현하기  (0) 2018.03.17
Pinterest에 대해서  (0) 2018.03.03
ELK에 대해서  (0) 2018.03.03

reference page:https://howtomechatronics.com/arduino-projects/

 

Arduino Projects with DIY Instructions - HowToMechatronics

A collection of cool Arduino Projects. Each of the following DIY Arduino projects is covered with detailed step by step tutorial on how to do it yourself...

howtomechatronics.com

 

Processing 

Code scripts => radar simulations

Receive data from COM3 port


더보기

 

/*   Arduino Radar Project

*

*   Updated version. Fits any screen resolution!

*   Just change the values in the size() function,

*   with your screen resolution.

*      

 *  by Dejan Nedelkovski,

 *  www.HowToMechatronics.com

*  

 */

import processing.serial.*; // imports library for serial communication

import java.awt.event.KeyEvent; // imports library for reading the data from the serial port

import java.io.IOException;

Serial myPort; // defines Object Serial

// defubes variables

String angle="";

String distance="";

String data="";

String noObject;

float pixsDistance;

int iAngle, iDistance;

int index1=0;

int index2=0;

PFont orcFont;

void setup() {

  

 size (1920, 1080); // ***CHANGE THIS TO YOUR SCREEN RESOLUTION***

smooth();

myPort = new Serial(this,"COM3", 9600); // starts the serial communication

myPort.bufferUntil('.'); // reads the data from the serial port up to the character '.'. So actually it reads this: angle,distance.

orcFont = loadFont("OCRAExtended-30.vlw");

}

void draw() {

  

  fill(98,245,31);

  textFont(orcFont);

  // simulating motion blur and slow fade of the moving line

  noStroke();

  fill(0,4); 

  rect(0, 0, width, height-height*0.065);

  

  fill(98,245,31); // green color

  // calls the functions for drawing the radar

  drawRadar(); 

  drawLine();

  drawObject();

  drawText();

}

void serialEvent (Serial myPort) { // starts reading data from the Serial Port

  // reads the data from the Serial Port up to the character '.' and puts it into the String variable "data".

  data = myPort.readStringUntil('.');

  data = data.substring(0,data.length()-1);

  

  index1 = data.indexOf(","); // find the character ',' and puts it into the variable "index1"

  angle= data.substring(0, index1); // read the data from position "0" to position of the variable index1 or thats the value of the angle the Arduino Board sent into the Serial Port

  distance= data.substring(index1+1, data.length()); // read the data from position "index1" to the end of the data pr thats the value of the distance

  

  // converts the String variables into Integer

  iAngle = int(angle);

  iDistance = int(distance);

}

void drawRadar() {

  pushMatrix();

  translate(width/2,height-height*0.074); // moves the starting coordinats to new location

  noFill();

  strokeWeight(2);

  stroke(98,245,31);

  // draws the arc lines

  arc(0,0,(width-width*0.0625),(width-width*0.0625),PI,TWO_PI);

  arc(0,0,(width-width*0.27),(width-width*0.27),PI,TWO_PI);

  arc(0,0,(width-width*0.479),(width-width*0.479),PI,TWO_PI);

  arc(0,0,(width-width*0.687),(width-width*0.687),PI,TWO_PI);

  // draws the angle lines

  line(-width/2,0,width/2,0);

  line(0,0,(-width/2)*cos(radians(30)),(-width/2)*sin(radians(30)));

  line(0,0,(-width/2)*cos(radians(60)),(-width/2)*sin(radians(60)));

  line(0,0,(-width/2)*cos(radians(90)),(-width/2)*sin(radians(90)));

  line(0,0,(-width/2)*cos(radians(120)),(-width/2)*sin(radians(120)));

  line(0,0,(-width/2)*cos(radians(150)),(-width/2)*sin(radians(150)));

  line((-width/2)*cos(radians(30)),0,width/2,0);

  popMatrix();

}

void drawObject() {

  pushMatrix();

  translate(width/2,height-height*0.074); // moves the starting coordinats to new location

  strokeWeight(9);

  stroke(255,10,10); // red color

  pixsDistance = iDistance*((height-height*0.1666)*0.025); // covers the distance from the sensor from cm to pixels

  // limiting the range to 40 cms

  if(iDistance<40){

    // draws the object according to the angle and the distance

  line(pixsDistance*cos(radians(iAngle)),-pixsDistance*sin(radians(iAngle)),(width-width*0.505)*cos(radians(iAngle)),-(width-width*0.505)*sin(radians(iAngle)));

  }

  popMatrix();

}

void drawLine() {

  pushMatrix();

  strokeWeight(9);

  stroke(30,250,60);

  translate(width/2,height-height*0.074); // moves the starting coordinats to new location

  line(0,0,(height-height*0.12)*cos(radians(iAngle)),-(height-height*0.12)*sin(radians(iAngle))); // draws the line according to the angle

  popMatrix();

}

void drawText() { // draws the texts on the screen

  

  pushMatrix();

  if(iDistance>40) {

  noObject = "Out of Range";

  }

  else {

  noObject = "In Range";

  }

  fill(0,0,0);

  noStroke();

  rect(0, height-height*0.0648, width, height);

  fill(98,245,31);

  textSize(25);

  

  text("10cm",width-width*0.3854,height-height*0.0833);

  text("20cm",width-width*0.281,height-height*0.0833);

  text("30cm",width-width*0.177,height-height*0.0833);

  text("40cm",width-width*0.0729,height-height*0.0833);

  textSize(40);

  text("Object: " + noObject, width-width*0.875, height-height*0.0277);

  text("Angle: " + iAngle +" °", width-width*0.48, height-height*0.0277);

  text("Distance: ", width-width*0.26, height-height*0.0277);

  if(iDistance<40) {

  text("        " + iDistance +" cm", width-width*0.225, height-height*0.0277);

  }

  textSize(25);

  fill(98,245,60);

  translate((width-width*0.4994)+width/2*cos(radians(30)),(height-height*0.0907)-width/2*sin(radians(30)));

  rotate(-radians(-60));

  text("30°",0,0);

  resetMatrix();

  translate((width-width*0.503)+width/2*cos(radians(60)),(height-height*0.0888)-width/2*sin(radians(60)));

  rotate(-radians(-30));

  text("60°",0,0);

  resetMatrix();

  translate((width-width*0.507)+width/2*cos(radians(90)),(height-height*0.0833)-width/2*sin(radians(90)));

  rotate(radians(0));

  text("90°",0,0);

  resetMatrix();

  translate(width-width*0.513+width/2*cos(radians(120)),(height-height*0.07129)-width/2*sin(radians(120)));

  rotate(radians(-30));

  text("120°",0,0);

  resetMatrix();

  translate((width-width*0.5104)+width/2*cos(radians(150)),(height-height*0.0574)-width/2*sin(radians(150)));

  rotate(radians(-60));

  text("150°",0,0);

  popMatrix(); 

}

 

 

Arduino sketch code scripts

:::

“Ulreasonic sensor” and “Servo motor” controls

Send data to COM3 port


 

더보기

// Includes the Servo library

#include <Servo.h>

// Defines Tirg and Echo pins of the Ultrasonic Sensor

const int trigPin = 10;

const int echoPin = 11;

// Variables for the duration and the distance

long duration;

int distance;

Servo myServo; // Creates a servo object for controlling the servo motor

void setup() {

  pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output

  pinMode(echoPin, INPUT); // Sets the echoPin as an Input

  Serial.begin(9600);

  myServo.attach(12); // Defines on which pin is the servo motor attached

}

void loop() {

  // rotates the servo motor from 15 to 165 degrees

  for(int i=15;i<=165;i++){ 

  myServo.write(i);

  delay(30);

  distance = calculateDistance();// Calls a function for calculating the distance measured by the Ultrasonic sensor for each degree

  

  Serial.print(i); // Sends the current degree into the Serial Port

  Serial.print(","); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing

  Serial.print(distance); // Sends the distance value into the Serial Port

  Serial.print("."); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing

  }

  // Repeats the previous lines from 165 to 15 degrees

  for(int i=165;i>15;i--){ 

  myServo.write(i);

  delay(30);

  distance = calculateDistance();

  Serial.print(i);

  Serial.print(",");

  Serial.print(distance);

  Serial.print(".");

  }

}

// Function for calculating the distance measured by the Ultrasonic sensor

int calculateDistance(){

  

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

  // Sets the trigPin on HIGH state for 10 micro seconds

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH); // Reads the echoPin, returns the sound wave travel time in microseconds

  distance= duration*0.034/2;

  return distance;

 

}

'IOT > 아듀이노' 카테고리의 다른 글

아듀이노 dc모터제어 4 wheel  (0) 2019.09.07
back light  (0) 2019.03.02
크리스마스 트리 만들기(led strip (네오픽셀))  (0) 2018.12.23
미세먼지 센서(GP2Y1010AU0F) 로 측정하기  (3) 2018.06.11
DIY-공기청정기  (0) 2018.06.01

Python
pip사용시 SSL에러관련

에러내용)
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)'))': /simple/python-docx/
Could not fetch URL https://pypi.org/simple/python-docx/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/python-docx/ (Caused
by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)'))) - skipping
ERROR: Could not find a version that satisfies the requirement python-docx (from versions: none)
ERROR: No matching distribution found for python-docx

해결방안)
--trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org
를 명령어 끝에 붙여서 수행하면 진행됨

예) pip install python-docx --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org

'프로그래밍' 카테고리의 다른 글

python기초  (0) 2020.09.09

머신러닝 로드맵
https://dbourke.link/mlmap

해당 로드맵에 대한 설명
https://www.youtube.com/watch?v=pHiMN_gy9mk


'빅데이타 > DATA분석' 카테고리의 다른 글

데이터 분석을 위한 R(1)  (0) 2018.07.04

플러그인 설치 또는 업데이트후 사이트 자체가 에러가 나는경우가 있다. => "관리자에게 문의하세요"

 

방법1)

 

xe3 디렉토리

"관리자에게 문의..."라는 말은 아파치 서버에 쌓이는 로그를 관리자에게 문의하라는 말일까? 아니면 XE3에서 쌓이는 로그를 볼수 있는 사람에게 문의하라는 말일까?.

 

에러로그를 못보는 사람은 임시방편으로 초기 설치한 버전으로 돌리는 부분.

vendor나 plugins 폴더 내용을 초기 XE3 zip파일에 내용으로 대체시키면서 사이트 작동유무를 확인한다.

 

사이트가 작동되면 전체적으로 정상유무를 확인하고

위젯을 사용해서 plugin이 표현된 페이지가 있으면 해당 위젯이 없다는 메시지가 페이지에 표기될 것이다.

그러면 그 plugin을 재설치하고 활성화하면 표현된다. 

 

방법2)

XE3 프로그램 자체에서 로그를 생성하는 부분이 있다. 그 로그를 분석하고 수정할 수 있다.

storage/logs 폴더에 보면 로그파일이 있다.

 

operation-yyyyMMdd~.log

laravel-yyyy-MM-dd.log

 

해당 로그 내용을 확인하고 에러 포인트를 찾고 해결책을 찾는다.

 

 

 

 

방법3)

에러 내용을 화면상으로 보고자 할 경우

config/production/app.php 에서 debug => true로 변경하고 화면에서 에러 내용을 확인하고 후처리를 진행한다.

<?php

return [
    'debug' => true,
    'url' => 'http://doitforyou~~',
    'timezone' => 'Asia/Seoul',
    'key' => '###########@@@@@@@@@@@@',
];

 

 

'오픈소스 > Xpress Engine' 카테고리의 다른 글

xe3 smtp 설정 (gmail)  (0) 2020.09.25
[xe3] .htaccess 파일, phpMyAdmin access확인하기  (0) 2020.07.09
XE3 설치  (0) 2020.05.26

https://randomnerdtutorials.com/video-streaming-with-raspberry-pi-camera/

 

Video Streaming Raspberry Pi Camera | Random Nerd Tutorials

In this post we're going to show you how you can do video streaming with a Raspberry Pi and a Raspberry Pi Camera - how to stream live video into a web page that you can access in any device that has a browser and is connected to the same network the Pi is

randomnerdtutorials.com

 

라즈베리파이 카메라 스트리밍.

파이쓴으로 프로그래밍하여 실시간 모니터링.

'IOT > 라즈베리파이' 카테고리의 다른 글

Play with 라즈베리파이  (0) 2020.03.22

케이스)

cafe24에 xe3설치전에 phpMyAdmin을 업로드하여

"http://url/phpMyAdmin/"  경로에소 db확인및 스키마 정의가능했음

xe3업로드 설치후 

"http://url/phpMyAdmin/" 로 접근하면 xe3첫화면으로 redirection됨.

 

 

xe3를 설치한 root의 .htaccess 파일을 확인하면 아래와 같이 phpMyAdmin 폴더 access접근 설정이 있고 없으면 추가한다.

아래 붉은색 phpMyAdmin 은 폴더명임. 바꿔서 세팅가능.

아래 내용으로 보면  http://url/phpMyAdmin/index.php 로 php파일명까지 정확히 지정해주면 phpMyAdmin페이지에 접근됨

 

.htaccess는 폴더 보안과 요청된 페이지의 접근(rewite engine)설정을 관리자가 필터링하여 좁힐수 있다.

 

 

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

.htaccess 파일 코드

 

   RewriteEngine On

    ...

 

     # allow for phpMyAdmin

     RewriteCond %{REQUEST_FILENAME} -f

     RewriteRule ^phpMyAdmin/.* - [L]

 

     RewriteCond %{REQUEST_FILENAME} -f

     RewriteRule ^index.php$ - [L]

     RewriteCond %{REQUEST_FILENAME} -f

     RewriteRule ^web_installer/index.php - [L]

     RewriteCond %{REQUEST_FILENAME} -d

     RewriteRule ^web_installer web_installer/index.php [L]

 

     RewriteCond %{REQUEST_FILENAME} -f

     RewriteRule \.php$ index.php [L]

     ...

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

'오픈소스 > Xpress Engine' 카테고리의 다른 글

xe3 smtp 설정 (gmail)  (0) 2020.09.25
[XE3] 익스텐션 추가후 사이트 에러  (0) 2020.07.26
XE3 설치  (0) 2020.05.26

찰스부코스키.
쉬운 언어로 자연스럽게 웃음을 주는 책.
작가가 들었던 바흐의 음악을 다운로드해서 들어본다.
작가의 느낌. 그가느꼈던 분위기를 알고싶으다.

 

 

프로젝트진행 방법으로 칸보드 이용하기

개인 프로젝트를 하면서 트레이닝용으로 칸보드를 이용해보고 있다.

todo, 일정관리용으로 진행해보고 있음.

PM, 비즈니스분석, 개발자 입장으로 칸반을 본다면 어떤 얘기들이 나올까? 

결과는 다음에......

 

php 7.2... 이상 버전에서 아래 url로 kanboard 다운로드하여 웹 install진행

 

 

https://kanboard.org/

 

Kanban Project Management Software - Kanboard

Kanboard has a very simple query language that offers the flexibility to find tasks in no time. Dynamically apply custom filters on the board to find what you need. Search by assignees, description, categories, due date, etc.

kanboard.org

 

'프로그래밍 > PHP' 카테고리의 다른 글

WAMP 설치  (0) 2020.05.26
Open Api Request / Response Schema구성&실행  (0) 2018.08.19
curl kakao open api 도서검색  (0) 2018.08.10
curl kakao open api 이미지검색하기  (0) 2018.08.06
curl kakao open api사용하기  (0) 2018.08.05

+ Recent posts