SMALL
		private static void binaryAppendData(string filename,  string stringData)
		{
			using (var fileStream = new FileStream(filename, FileMode.Append, FileAccess.Write, FileShare.None))
			using (var bw = new BinaryWriter(fileStream))
			{
				bw.Write(stringData);
			}
		}

 

https://hong-study.tistory.com/109

 

C# 16 : File(파일)

파일 다루기 파일 정보와 디렉토리 정보 다루기 파일(File)은 컴퓨터 저장 매체에 기록되는 데이터의 묶음이다. 디렉토리(Diretory)는 파일이 위치하는 주소로, 파일(서류)을 담는다는 의미에서 폴

hong-study.tistory.com

 

LIST

'일반' 카테고리의 다른 글

SQL 필드 확인후 필드가 없을경우  (0) 2022.03.29
SQL 정리 지금까지썼던것들  (0) 2022.03.29
텍스트파일저장  (0) 2022.03.29
기기 통신 방식  (0) 2022.03.29
테이블체크  (0) 2022.03.28
SMALL
// 파일 경로를 지정 합니다.
string savePath = @"c:\test.txt";
// 입력 할 text 값
string textValue = lotto+"\n";
// 기존 파일에 text 값을 추가 합니다.
System.IO.File.AppendAllText(savePath, textValue, Encoding.Default);

 

LIST

'일반' 카테고리의 다른 글

SQL 정리 지금까지썼던것들  (0) 2022.03.29
바이너리파일저장  (0) 2022.03.29
기기 통신 방식  (0) 2022.03.29
테이블체크  (0) 2022.03.28
C# 로또 조합번호 전부 가져오기  (0) 2022.03.24
SMALL

[c# 시리얼 통신 클래스 만들기]

시리얼 포트 열기

	private void buttonserialPort_Click(object sender, EventArgs e)
		{
			// 1. SerialPort 클래스 객체 생성  (COM5 포트를 사용)
			SerialPort sp = new SerialPort("COM5");

			// 2. 시리얼포트 오픈
			sp.Open();

			// 3. 시리얼포트에서 한 라인 읽기
			string data = sp.ReadLine();

			Console.WriteLine(data);

			// 4. 시리얼포트 닫기
			sp.Close();

			Console.WriteLine("Press Enter to Quit");
			Console.ReadLine();
		}

시리얼포트 쓰기

	private void buttonSerialWrite_Click(object sender, EventArgs e)
		{
			// 1. SerialPort 클래스 객체 생성  (COM6 포트를 사용)
			SerialPort sp = new SerialPort("COM6");

			// 2. SerialPort 포트 셋팅 설정
			sp.PortName = "COM6";
			sp.BaudRate = 9600;
			sp.DataBits = 8;
			sp.Parity = Parity.None;
			sp.StopBits = StopBits.One;


			// 2. 시리얼포트 오픈
			sp.Open();

			// 3. 시리얼포트에서 한 라인 쓰기
			sp.WriteLine("Hello World");

			// 4. 시리얼포트 닫기
			sp.Close();
		}

시리얼포트 비동기처리

private void button1_Click(object sender, EventArgs e)
		{
		
			string portName = "COM6";

			// 시리얼포트 열기
			SerialPort sp = new SerialPort(portName);
			sp.Open();

			// 읽기 작업쓰레드: Read from serial port
			var cancel = new CancellationTokenSource();
			var readTask = Task.Factory.StartNew(() =>
			{
				while (!cancel.IsCancellationRequested)
				{
					string readMsg = sp.ReadLine();
					if (readMsg.ToLower() == "quit")
					{
						Environment.Exit(0);
					}
					Console.WriteLine(readMsg);
				}
			}, cancel.Token);

			// 메인쓰레드: Write to serial port
			while (true)
			{
				string sendMsg = Console.ReadLine();
				if (sendMsg.ToLower() == "quit")
				{
					sp.WriteLine(sendMsg);
					cancel.Cancel();
					break;
				}

				sp.WriteLine(sendMsg);
			}

			// 시리얼포트 닫기
			sp.Close();
		}

시리얼포트 클래스

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO.Ports;
using System.Collections;
namespace serialConnect
{
	class SerialComm
	{
		public ArrayList arrSerialbuff = new ArrayList(); // 수신용 List 버퍼 선언 
		private SerialPort sp = new SerialPort();// 시리얼 포트 선언
																						 //HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
																						 //        Comport 열기        
																						 //HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
		public string Comport_Open(string port, string baud, string databits, string parity, string stop)
		{
			try
			{
				// 시리얼 통신 포트, 보레이트, 데이터 비트, 패리티, 스톱 비트를 설정         
				sp.PortName = port;
				sp.BaudRate = int.Parse(baud);
				sp.DataBits = int.Parse(databits);
				sp.Parity = (Parity)Enum.Parse(typeof(Parity), parity);
				sp.StopBits = (StopBits)Enum.Parse(typeof(StopBits), stop);
				// 이미 오픈상태인지 체크하여 아니라면 
				if (!sp.IsOpen)
				{
					// 포트 열기
					sp.Open();
				}
				// 포트가 열린 상태이면 연결 완료      
				if (sp.IsOpen)
				{
					return "연결완료";
				}
				else  // 포트열기가 열린상태가 아니라면 연결 실패   
				{
					return "연결실패";
				}
			}
			catch (Exception ex)
			{
				throw ex;
			}
		}

		//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH       

		//      수신 처리          //HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

		public void RcvSerialComm()

		{
			try

			{

				// 포트가 열린 상태인지 체크      

				if (sp.IsOpen)

				{

					// 시리얼 수신 버퍼에 적재된 byte 개수를 읽어 온다.        

					int nbyte = sp.BytesToRead;

					// 시리얼 byte개수 만큼 버퍼를 생성한다.

					byte[] rbuff = new byte[nbyte];

					// byte개수가 0보다 크다면





					if (nbyte > 0)

					{

						//  수신버퍼에서 버퍼의 지정된 인덱스 부터 개수 만큼 읽어 온다.   

						sp.Read(rbuff, 0, nbyte);

					}

					// ArrayList에 적재한다.     

					for (int i = 0; i < nbyte; i++)

					{

						arrSerialbuff.Add(rbuff[i]);

					}

				}

			}

			catch (Exception ex)

			{

				// 수신에러 발생시      

				// ArrayList를 클리어한다.         

				arrSerialbuff.Clear();

				//예외를 던지고 종료     

				throw ex;

			}

		}
	}
}

https://github.com/zakigaebal/serialConnect

 

시리얼프로그램

https://unininu.tistory.com/304

 

C# 시리얼통신을 뚫어보자(송신/수신, SerialPort, ReceiveData, Invoke)

C# 시리얼통신을 뚫어보자(송신/수신, SerialPort, ReceiveData, Invoke) PC와 외부 장치를 연결하기 위해 GUI를 만드는 중에 시리얼통신 수신 부분이 막혀서 인터넷을 검색하고 검색하여 이해한 내용을 정

unininu.tistory.com

 

RS485

https://developer-depot.tistory.com/13

 

[시리얼 통신] RS485 통신 분석

1. RS485 통신 이란? RS-232, RS-422의 확장 버전으로, 홈 네트워크를 지원하는 일종의 직렬 통신 프로토콜 표준. RS-232는 전송 속도가 낮고 전송 거리가 짧다. 이를 보완하기 위해 개발된 RS-422는 한

developer-depot.tistory.com

 

LORA통신이란

https://blog.naver.com/milkysc/221920748769

 

[포스팅]기기 통신 방식
[포스팅]SERIAL 통신
[포스팅]485 통신
[포스팅]LORA 통신

 

IOT는 그야말로 통신으로 모두가 연결되어 있는 개념입니다.

IOT에서 고려하고 있는 통신 시스템은 일반적으로 다음과 같습니다.

유선: 광, 유선이더넷, 전화모뎀, 케이블모템,PLC(전력선통신)

광: 국내에서는 가장 빠르고 안정적이지만 해외시장을 고려한 제품이라면 이러한 연결방식은 신중히 판단해야 합니다고속 인터넷 보급에서 한국이 전세계 1위이기에 광통신이 가정에까지 들어올 수 있는 것이지 이는 한국 이외의 대부분의 국가에서는 꿈도 꿀 수 없는 상황입니다.

 

시리얼 통신이란

병렬 데이터의 형태를 직렬방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종

시리얼이라는 것은 직렬이라는 뜻으로 패러럴과 반대되는 단어이다.

직렬통신과 병렬통신의 2가지 방식이 존재한다

직렬통신은 데이터를 보낼때 한 데이터 선에서 데이터를 보내는 방식이고

병렬통신은 여러 개의 선에서 보내고자 하는 데이터를 나눠서 보내는 것이다.

예를 들어 1010데이터를 보내려고 할때 상황은 아래와 같다

- 시리얼 통신에서는 1개의 LANE으로 데이터를 모두 보낸다

- 병렬통신에서는 4개의  LANE이라고 가정할때 각 LANE(0~3번 LANE)에 1, 0, 1, 0 을 나눠서 보낸다

 

아두이노를 사용하면 가장 자주 접하는 통신방법이 Serial 통신이다 일단 PC와 연결되는 것 자체가 아두이노 입장에서는 Serial 통신을 사용하는 것이다

 

http://winnerspowerup.cafe24.com/archives/309

 

[IOT] 어떤 통신방식을 사용하는 것이 좋을 지 장단점을 알려주세요. « 스마트콘텐츠센터 컨설팅

IOT는 그야말로 통신으로 모두가 연결되어 있는 개념입니다. IOT에서 고려하고 있는 통신 시스템은 일반적으로 다음과 같습니다. 유선: 광, 유선이더넷, 전화모뎀, 케이블모템,PLC(전력선통신) 광:

winnerspowerup.cafe24.com

http://melonicedlatte.com/2021/03/25/113400.html

 

시리얼 통신의 종류(Uart/Usart, I2C, SPI)와 개념 및 차이점 정리 - Easy is Perfect

 

melonicedlatte.com

https://www.hardcopyworld.com/?p=2080 

 

시리얼 통신 기초 (Serial Communication)

아두이노를 사용하면 가장 자주 접하는 통신 방법이 Serial 통신입니다. 일단 PC와 연결되는것 자체가 아두이노 입장에서는 Serial 통신을 사용하는 것이니까요. 그에 반해 Serial 통신의 세부 내용

www.hardcopyworld.com

https://medium.com/newworld-kim/%EC%8B%9C%EB%A6%AC%EC%96%BC-serial-%ED%86%B5%EC%8B%A0%EC%9D%B4-%EB%AD%98%EA%B9%8C-bdf991a300b1

 

시리얼(Serial) 통신이 뭘까?

시리얼 통신이 뭔데?…

medium.com

https://developer-depot.tistory.com/13

 

[시리얼 통신] RS485 통신 분석

1. RS485 통신 이란? RS-232, RS-422의 확장 버전으로, 홈 네트워크를 지원하는 일종의 직렬 통신 프로토콜 표준. RS-232는 전송 속도가 낮고 전송 거리가 짧다. 이를 보완하기 위해 개발된 RS-422는 한

developer-depot.tistory.com

https://developer-depot.tistory.com/entry/C-%EC%8B%9C%EB%A6%AC%EC%96%BC-%ED%86%B5%EC%8B%A0-%ED%81%B4%EB%9E%98%EC%8A%A4-%EB%A7%8C%EB%93%A4%EA%B8%B0

 

C# 시리얼 통신 클래스 만들기

안녕하세요. 오늘은 시리얼 통신 모니터링 프로그램 클래스를 포스팅하겠습니다. 이 클래스 예제를 활용하면 시리얼 통신은 기본적으로 만들어 쓸수 있습니다. 시리얼 통신관련 설명은 아래 링

developer-depot.tistory.com

 

LIST

'일반' 카테고리의 다른 글

바이너리파일저장  (0) 2022.03.29
텍스트파일저장  (0) 2022.03.29
테이블체크  (0) 2022.03.28
C# 로또 조합번호 전부 가져오기  (0) 2022.03.24
2022.03.21_발정데이터_farm3797_09시&17시  (0) 2022.03.21
SMALL

create문 써서 없는 테이블을 만들기

 

문제1

mysql에서 create문을 써서 테이블을 생성하였는데 한글깨짐현상이 발생하였다

그래서 데이터베이스를 utf8로 바꾸는 문장을 썼는데 해결되지 않았다

ALTER DATABASE [DB명] DEFAULT CHARACTER SET utf8;

그래서 테이블에서도 utf8를 바꾸어보아도 

	string alterTable = "ALTER TABLE `" + tbl + "` convert to character set utf8";
	Create(alterTable);

해결되지 않았다.

 

해결1

구글링한결과

커넥션 부분에도 utf8을 바꿔야 한다고한다.

커넥션부분에 utf8를 넣으면 된다고 하였는데

connect하는부분에

	_strArg.Append("Charset=utf8;");

넣어보니 잘 나왔다

 

 

문제2

procedure create생성쿼리가 작동하지 않는 문장이 있었다.

 

해결2

커넥션 부분에 allow user valiables= true;로 바꾸면 해결되었다.

string connectionDb1 = "Server = " + textBoxIp1.Text + ";Port = " + textBoxPort1.Text + ";Database = " + textBoxDb1.Text + ";username = " + textBoxUn1.Text + ";password = " + textBoxPw1.Text + ";

allow user variables=true;" + "Charset =utf8;";

 

 

[참고자료]

https://stackoverflow.com/questions/11689129/c-sharp-mysql-utf8-encoding

https://www.cubrid.com/qna/3804217

LIST

'일반' 카테고리의 다른 글

텍스트파일저장  (0) 2022.03.29
기기 통신 방식  (0) 2022.03.29
C# 로또 조합번호 전부 가져오기  (0) 2022.03.24
2022.03.21_발정데이터_farm3797_09시&17시  (0) 2022.03.21
텍스트박스 드래그드랍기능  (0) 2022.03.21
SMALL

로또는 1부터 45까지 자연수를 가지고 있고 총 6번 고를수 있다

계산식은 45C6

공식은 45*44*43*42*41*40/6*5*4*3*2*1 이고 총 8,145,060이 나온다

 

https://github.com/zakigaebal/lottoAllNumber

 

GitHub - zakigaebal/lottoAllNumber

Contribute to zakigaebal/lottoAllNumber development by creating an account on GitHub.

github.com

진행중임

///
///텍스트파일 바이너리 두번 저장
///텍스트로 1000을 숫자입력
///1000번째 있는 숫자를 제거하기
///다시 저장하기
///텍스트박스를 하나 생성해서 문자열을 입력하는데 로또번호 10 15 20 35 38 40 입력받아서 찾아서 지우기하고 파일 새로운이름으로 저장
///

LIST

'일반' 카테고리의 다른 글

기기 통신 방식  (0) 2022.03.29
테이블체크  (0) 2022.03.28
2022.03.21_발정데이터_farm3797_09시&17시  (0) 2022.03.21
텍스트박스 드래그드랍기능  (0) 2022.03.21
Json Serialize desrialize 예제  (0) 2022.03.16
SMALL

1. RFID 0 찾아서 엑셀문서 + 포스팅

2. 목장값확인 ->해당목장 MQTT 프로그램 캡처 + 포스팅

수동착유 목장_RFID0값찾기.xlsx
0.06MB

[RFID0 찾기]

https://capri.tistory.com/215?category=924144

 

완주 베드로 목장

3월 16일 캡처 3월 17일 캡처 3월 24일 캡처

capri.tistory.com

https://capri.tistory.com/216?category=924144 

 

부안 대원 목장

3월 16일 캡처 3월 17일 캡처 3월 24일 캡처

capri.tistory.com

https://capri.tistory.com/217?category=924144 

 

부안 성은 목장

3월 16일 캡처 3월 17일 캡처 3월 24일 캡처

capri.tistory.com

https://capri.tistory.com/218?category=924144 

 

곡성 금호 목장

3월 16일 캡처 3월 17일 캡처

capri.tistory.com

 

[값확인]

값확인목장리스트: 

완주베드로,이천새욕골,청주소망,화성푸른목장,부안성은목장,부안대원목장,곡성금호목장,원주소사랑목장,아산대원목장

 

부안 대원목장 : 아침8시 ~ 9시 20분, 19시 30분 ~20시 20분
원주 소사랑: 아침6시~7시, 17시 30분 ~ 18시 10분,20시

[이전파일]

목장수동착유_값확인_0325_2016.zip
4.60MB

[업데이트파일]

목장수동착유_값확인_0330.zip
5.03MB

 

[못가져고온것]

 

[아이알]

부안대원 아이디 전부 안나옴

부안성은 아이디 전부 안나옴

원주소사랑 아이디 전부 안나옴

청주소망 7,8.9,10,14 전부 안나옴

화성푸른목장 아이디 전부 안나옴 - 4월4일 아침체크

 

[미터]

화성푸른목장 20번 전부 안나옴 - 4월4일 아침체크

LIST

'TODO' 카테고리의 다른 글

2022.11.16 TODO  (0) 2022.11.16
2022.11.15 ToDo  (0) 2022.11.15
2022.11.11  (0) 2022.11.11
2022.11.10  (0) 2022.11.10
2022.05.16  (0) 2022.05.16

+ Recent posts