2017-01-18 2 views
0

저는 마이크로 컨트롤러에 관한 완전한 초보자입니다. 그러니 도와주세요!마이크로 컨트롤러를 인터넷에 연결하고 API에서 데이터를 다운로드하십시오.

1 년 동안 타임 스탬프가 저장된 메모리가있는 마이크로 컨트롤러를 사용하고 싶습니다. 그 이유는 오늘의 시간대에 따라 출력을 트리거하는 간단한 조건문을 쓰고 싶기 때문입니다 (예 : 오늘 시간 == X 일 경우 출력 = 1로 설정)

내 질문은 어떻게 얻을 수 있습니까? 데이터를 마이크로 컨트롤러에 타임 스탬프? 실제로 API를 통해 다운로드 할 수 있습니다. API 호출을 수행하고 마이크로 컨트롤러를 통해 정보를 다운로드 할 수 있습니까? 아니면 데이터를 메모리에 저장하는 다른 방법이 있습니까?

도움이 될만한 의견을 보내 주시면 감사하겠습니다. 귀하의 질문에

+2

"마이크로 컨트롤러"가 충분하지 않습니다. "마이크로 컨트롤러"에서 "인터넷에 연결된 시스템 *"(하드웨어가 많고 소프트웨어가 더 많음)까지 먼 길입니다. 귀하의 * 시스템을 설명하십시오. 질문이 "* 필요한 하드웨어가 무엇입니까? *"라고하면 SO가 그 질문을 할 수있는 곳이 아닙니다. 소프트웨어에 대해 물어볼 수 있지만 넓은 질문 만 광범위한 답변을 얻을 수 있습니다. 당신이 필요로하는 것입니다. – Clifford

+0

나무 딸기 파이를 사용 해본 적이 있습니까? 비교적 저렴하게 파일에 타임 스탬프를 저장하고 파이썬 스크립트를 사용하여 디지털 출력을 쉽게 토글 할 수 있습니다. 문제의 설명이 꽤 얇기 때문에 이것이 당신이 찾고있는 것이지 모르겠지만 그것이 잘 맞는 것처럼 보입니다. – semaj

+0

파이를 고려해 볼 수도 있습니다. 이 경우 필자는 논리를 Pi에 삽입 한 다음 출력 무선 전송을 트리거하여 다른 장치 세트를 제어합니다. 감사합니다 semaj! – genesis

답변

-1

답변 설계 요구 사항에 따라 달라집니다 및 제약 :

  • 어떤 마이크로 컨트롤러 얼마나 많은 메모리가 사용 가능해야합니다 사용하려는 않으며,?
  • 인터넷에 연결할 수 있습니까? 항상 인터넷에 연결되어 있습니까?
  • 시간은 어떻게됩니까?
  • 시간이 지남에 따라 타임 스탬프가 변경됩니까? 예 : 일단 다운로드되면 타임 스탬프 목록이 쓸모 없게 될 수 있습니까?

데이터를 수동으로 다운로드하고 SD 카드 또는 마이크로 컨트롤러의 내부 메모리 (데이터 세트가 작은 경우)로 쓸 수 있습니다. 또는 API를 사용하여 데이터를 다운로드하도록 마이크로 컨트롤러를 프로그래밍 할 수 있습니다. 기억의 한계를 명심하십시오. 대부분의 장치는 1-2kB의 RAM 만 가지고 있으므로 모든 데이터를 한꺼번에 다운로드하여 RAM에 저장하는 것이 문제가 될 수 있습니다.

+0

예, 항상 인터넷을 사용할 수 있으며 연결할 수있는 컨트롤러를 사용하고 있다고 가정합니다. 하루의 시간 스탬프 집합이 다운로드되므로이 프로세스가 매일 발생합니다 (데이터 크기 문제를 방지해야 함). 시간이 어떻게되는지에 대한 세 번째 질문 - 확실하지 않습니다. 날씨에 관한 통찰력을 공유 할 수 있다면 가능한 한 적은 하드웨어로이 작업을 수행 할 수 있습니다. 정말 감사 할 것입니다. – genesis

-1

"마이크로 컨트롤러"는 완전한 시스템이 아니며 모두 동일하지 않습니다. 베어 메탈 코드를 실행하는 낮은 8 비트 8051 일 수도 있고 Linux를 실행할 수있는 32 비트 칩 일 수도 있습니다. "마이크로 컨트롤러"와 인터넷 사이에는 많은 추가 하드웨어 및 소프트웨어가 있습니다.

소프트웨어 관점에서 볼 때 질문이 StackOverflow에서 유효한 범위 인 경우 최소한 TCP/IP 스택과 네트워크 인터페이스 용 드라이버 (이더넷이 가장 일반적 임)가 필요합니다. 데이터를 저장하는 방법은 전적으로 귀하의 설계 내에 있습니다. 당신의 시스템은 파일 시스템을 가질 수도 있고, 단지 적은 양의 EEPROM을 가질 수도 있고, 예를 들어 온칩 플래시 메모리에 저장할 수도 있습니다. 소프트웨어 솔루션을 시스템에서 사용 가능한 하드웨어 리소스에 맞게 조정해야합니다. 시스템은 마이크로 컨트롤러가 아닙니다.

TCP/IP 스택이 주어지면 "API"는 해당 스택이 제공하는 것입니다. 완전한 BSD 소켓 API 일 수도 있고 더 가벼운 것일 수도 있습니다. FTP, 텔넷 또는 SSH와 같은 응용 프로그램 계층 프로토콜을 제공 할 수도 있고 제공하지 않을 수도 있습니다. 이 간단한 응용 프로그램의 경우 독점 응용 프로그램 프로토콜로 TCP/IP 소켓 수준에서 작업 할 수 있습니다.

고려해야 할 또 다른 사항은 시간이 어디에서 비롯되었는지입니다. 시스템에 RTC (크리스탈과 배터리가 필요함)가 있거나 인터넷 연결, GPS 또는 기타 소스를 통해 시간을 낼 수 있습니까?

+0

시스템은 기본적으로 코딩 된 조건부에 따라 몇 가지 출력 장치를 제어하기위한 것입니다. 그러나 검사 값은 매일 달라 지므로 조건부를 실행하기 전에 일별 데이터를 소스로 사용하는 컨트롤러가 필요합니다. 그리고이 일일 데이터는 온라인 API를 통해 제공 될 수 있습니다. 예, 인터넷 연결을 통해 시간을 알 수 있습니다. 우리가 inbuilt EEPROM을 사용할 것이라고 말하십시오. 제 문제는 매일 데이터를 얻기 위해 실제 코드를 작성하는 것입니다. 어떻게해야합니까? 컨트롤러 내부에 TCP/IP 스택이 필요합니까? 이 작업을 수행하는 데 사용 된 소프트웨어는 무엇입니까? – genesis

+0

인터넷의 프로토콜은 TCP/IP이므로 TCP/IP 스택이 반드시 필요합니다. 직렬 I/O 만있는 간단한 장치의 연결을 위해 직렬 브리징에 TCP/IP를 지원하는 인터페이스 모듈이 있습니다. 이 모듈 중 일부는 사용자 코드를 지원하며 일부 GPIO를 사용하므로 응용 프로그램을 독립 실행 형으로 지원할 수 있습니다. TCP/IP 스택은 의도 한 응용 프로그램보다 상당히 크고 복잡합니다. 이는 코드와 하드웨어의 대부분이 될 것입니다. – Clifford

+0

좋아, 어떻게하면 TCP/IP 스택을 코딩하는 법을 배울 수 있습니까? 아시다시피 초보자 용 참고서를 제공해 주시겠습니까? – genesis

관련 문제