출처: CCKorea http://www.cckorea.org/xe/?mid=licenses
CCL 컨텐츠 검색의 자료도 유용.. http://www.cckorea.org/xe/?mid=searchbase64 encode & decode
base64란 64진수라는 뜻.
즉 2진수 데이터를 64진수 데이터로 변경하는 것.
예를 들면 a, b, c의 경우 ASCII값은 0x61, 0x62, 0x63이고, 2진수로 01100001, 01100010, 01100011이다
이것을 6bit씩 끊으면…. 011000 010110 001001 100011 가 되고, 각각 값은 0x18(24), 0x16(22), 0x09(9), 0x23(35)가 된다.
base64의 문자셋은 다음과 같으므로,
A~Z : 0 ~25
a~z : 26 ~51
0~9 : 52 ~ 61
+ : 62
/ : 63
위 abc는 YWJj가 된다.
만약 딱 떨어지지 않는 경우 남는 비트의 경우 6 bit 문자를 0으로 padding하고 그래도 남는 6 bit 문자는 = 으로 치환한다.
C코드
#include <stdlib.h>
#include <time.h>
#include <endian.h>
static const char MimeBase64[] = {
‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’, ‘H’,
‘I’, ‘J’, ‘K’, ‘L’, ‘M’, ‘N’, ‘O’, ‘P’,
‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’,
‘Y’, ‘Z’, ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’,
‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’,
‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’,
‘w’, ‘x’, ‘y’, ‘z’, ‘0’, ‘1’, ‘2’, ‘3’,
‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘+’, ‘/’
};
static int DecodeMimeBase64[256] = {
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* 00-0F */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* 10-1F */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63, /* 20-2F */
52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1, /* 30-3F */
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14, /* 40-4F */
15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1, /* 50-5F */
-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40, /* 60-6F */
41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1, /* 70-7F */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* 80-8F */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* 90-9F */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* A0-AF */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* B0-BF */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* C0-CF */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* D0-DF */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, /* E0-EF */
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 /* F0-FF */
};
typedef union{
struct{
unsigned char c1,c2,c3;
};
struct{
unsigned int e1:6,e2:6,e3:6,e4:6;
};
} BF;
int endian = 0; // little : 0, big : 1
void base64e(char *src, char *result, int length){
int i, j = 0;
BF temp;
if(endian == 0){ // little endian(intel)
for(i = 0 ; i < length ; i = i+3, j = j+4){
temp.c3 = src[i];
if((i+1) > length) temp.c2 = 0x00;
else temp.c2 = src[i+1];
if((i+2) > length) temp.c1 = 0x00;
else temp.c1 = src[i+2];
result[j] = MimeBase64[temp.e4];
result[j+1] = MimeBase64[temp.e3];
result[j+2] = MimeBase64[temp.e2];
result[j+3] = MimeBase64[temp.e1];
if((i+2) > length) result[j+2] = ‘=’;
if((i+3) > length) result[j+3] = ‘=’;
}
} else { // big endian(sun)
for(i = 0 ; i < length ; i = i+3, j = j+4){
temp.c1 = src[i];
if((i+1) > length) temp.c2 = 0x00;
else temp.c2 = src[i+1];
if((i+2) > length) temp.c3 = 0x00;
else temp.c3 = src[i+2];
result[j] = MimeBase64[temp.e4];
result[j+1] = MimeBase64[temp.e3];
result[j+2] = MimeBase64[temp.e2];
result[j+3] = MimeBase64[temp.e1];
if((i+2) > length) result[j+2] = ‘=’;
if((i+3) > length) result[j+3] = ‘=’;
}
}
}
void base64d(char *src, char *result, int *length){
int i, j = 0, src_length, blank = 0;
BF temp;
src_length = strlen(src);
if(endian == 0){ // little endian(intel)
for(i = 0 ; i < src_length ; i = i+4, j = j+3){
temp.e4 = DecodeMimeBase64[src[i]];
temp.e3 = DecodeMimeBase64[src[i+1]];
if(src[i+2] == ‘=’){
temp.e2 = 0x00;
blank++;
} else temp.e2 = DecodeMimeBase64[src[i+2]];
if(src[i+3] == ‘=’){
temp.e1 = 0x00;
blank++;
} else temp.e1 = DecodeMimeBase64[src[i+3]];
result[j] = temp.c3;
result[j+1] = temp.c2;
result[j+2] = temp.c1;
}
} else { // big endian(sun)
for(i = 0 ; i < src_length ; i = i+4, j = j+3){
temp.e4 = DecodeMimeBase64[src[i]];
temp.e3 = DecodeMimeBase64[src[i+1]];
if(src[i+2] == ‘=’){
temp.e2 = 0x00;
blank++;
} else temp.e2 = DecodeMimeBase64[src[i+2]];
if(src[i+3] == ‘=’){
temp.e1 = 0x00;
blank++;
} else temp.e1 = DecodeMimeBase64[src[i+3]];
result[j] = temp.c1;
result[j+1] = temp.c2;
result[j+2] = temp.c3;
}
}
*length = j-blank;
}
int main(void){
char str1[]=”테스트문자열입니다.ABCabc123,./”;
char str2[]=”7YWM7Iqk7Yq466y47J6Q7Je07J6F64uI64ukLkFCQ2FiYzEyMywuLw==”;
char *result;
int src_size;
struct timespec start,end;
if (__LITTLE_ENDIAN == BYTE_ORDER) endian == 0;
else endian == 1;
src_size = strlen(str1);
result = (char *)malloc((4 * (src_size / 3)) + (src_size % 3 ? 4 : 0) + 1);
clock_gettime(CLOCK_REALTIME, &start);
base64e(str1, result, src_size);
clock_gettime(CLOCK_REALTIME, &end);
float time_dif = (end.tv_sec – start.tv_sec) + ((end.tv_nsec – start.tv_nsec) );
printf(“함수 수행 시간: %f\n”, time_dif);
printf(“%s\n%s\n”,str1,result);
free(result);
src_size = strlen(str2);
result = (char *)malloc(3 * (src_size / 4));
base64d(str2,result,&src_size);
printf(“%s\n%s\n길이:%d\n”,str2,result,src_size);
free(result);
}
온라인에서 base64를 테스트 할 수 있는 사이트 : http://ostermiller.org/calc/encode.html
[스크랩] PIC® MCU를 위한 DLMS 사용자 연합 인증 스택
MCU에 맞춤형으로 구성된 DLMS 스택을 통해 광범위한 에너지 유형 및 통신 프로토콜의 상호 운용성을 업계 최초로 구현
세계적인 마이크로컨트롤러, 아날로그 및 플래시 IP 솔루션 전문기업인 마이크로칩 테크놀로지(한국 지사장: 한병돈)는 오늘 칼키 커뮤니케이션 테크놀로지스(Kalki Communication Technologies)와 공동으로 16비트 PIC® 마이크로컨트롤러(MCU)에 최적화된 DLMS(Device Language Message Specification) 프로토콜 스택을 제공한다고 발표했다. DLMS 프로토콜은 전기, 가스, 난방, 상/하수도 같은 대부분의 에너지 유형과 여러 애플리케이션(주거, 송신, 분배) 및 통신 미디어(RS232, RS485, PSTN, GSM, GPRS, IPv4, PPP, PLC) 같은 미터링 시스템 간의 상호 운용성은 물론, AES 128 암호화를 통한 보안 데이터 액세스를 위해 스마트 미터 디자이너들이 선호하는 세계적인 표준으로 자리 잡아가고 있다.
이 소프트웨어 스택은 DLMS 사용자 연합의 테스트와 검증을 마쳤을 뿐 아니라 마이크로칩의 모든 16비트 PIC 마이크로컨트롤러 및 dsPIC® 디지털 신호 컨트롤러(DSC)에서 동작하도록 맞춤형으로 구성되어 있어 DLMS 인증 절차를 보다 쉽고 빠르게 마칠 수 있게 해준다. 또한 이 스택은 TCP/IP, 지그비(ZigBee®), PLC 같은 통신 프로토콜 스택과 긴밀하게 통합되도록 개발되어 광범위한 스마트 에너지 애플리케이션에 적용할 수 있다는 게 특징이다. 뿐만 아니라 작은 메모리 풋프린트에 맞게 최적화되어 있어 업계에서 가장 작고 경제적인 MCU를 사용할 수가 있다. 유럽 지역 애플리케이션의 경우, 이 스택은 애플리케이션을 구현하는 데 필요한 IEC 62056-21 모드 E를 지원한다.
마이크로칩 고급 마이크로컨트롤러 아키텍처 사업부의 미치 오볼스키(Mitch Obolsky) 부사장은 “마이크로칩의 스마트 에너지 제품에 이 DLMS 라이브러리를 추가함에 따라 경제적이면서 포괄적인 솔루션을 제공하기 위해 힘써 온 마이크로칩의 노력이 한층 힘을 얻게 되었다”며 “이제 고객은 TCP/IP, 지그비, PLC 같은 마이크로칩의 방대한 통신 프로토콜 솔루션 포트폴리오를 활용하여 완벽하게 통합된 스마트 에너지 시스템을 만들 수 있게 되었다”고 밝혔다.
Features Supported MCUs 16-bit PIC® microcontrollers (MCUs) and dsPIC® Digital Signal Controllers (DSCs) Getting Started 1. Click here to purchase Microchip’s Explorer 16 Development Board and tools 2. Download Free DLMS evaluation library. User guide and examples projects are provided for understanding the library and its implementation. 3. Download Free trial version of the DLMS Explorer for in-house testing of the meter. DLMS Explorer is a windows based DLMS client application with user friendly GUI. DLMS Stack Licensing DLMS-lite Stack for 16-bit MCUs Up to 5,000 units: $3,900 Click Here to Purchase Up to 25,000 units: $7,500 Click Here to Purchase DLMS Stack for 16-bit MCUs Up to 5,000 units: $4,800 Click Here to Purchase Up to 25,000 units: $12,000 Click Here to Purchase DLMS Explorer DLMS Explorer $2,800 Click Here to Purchase
공급
이 새로운 DLMS 스택은 현재 4가지 구성으로 공급된다.
16비트 MCU용 DLMS 평가 라이브러리는 DLMS 라이브러리의 무료 평가 버전이고, 16비트 MCU용 DLMS 라이트 스택(부품 번호: SW500160)과 16비트 MUC용 DLMS 스택(부품 번호: SW500162)는 각각 5천 개 단위로 구입이 가능하다.
DLMS 익스플로러(부품 번호: SW500164)는 윈도우 기반 DLMS/COSEM 클라이언트 애플리케이션이다.
Google PowerMeter API 관련 소식
Google PowerMeter API 관련 소식입니다.
즉 Power Meter API가 현재는 deprecated 상태 인데, 향후 한 3년 이후면 shut down 상태로 갈 가능성이 높습니다.
http://code.google.com/apis/powermeter/
Important: The Google Power Meter API has been officially deprecated as of May 26, 2011 to reflect that it’s no longer undergoing active development and experimentation, which is the hallmark of APIs in the Code Labs program. However, we have no current plans to remove functionality for existing users.
구글의 공식적인 구글 코드 블로그에 가보면…
http://googlecode.blogspot.com/2011/05/spring-cleaning-for-some-of-our-apis.html
구글 I/O에서 7가지 새로운 API를 소개를 하면서 더 이상 지원을 하지 않는 API를 소개하고 있다.
묻어가기 전략인가?…. 이중의 하나가 PowerMeter API.
Following the standard deprecation period – often, as long as three years – some of the deprecated APIs will be shut down. The rest have no scheduled date for shutdown, but won’t get any new features. The policy for each deprecated API is specified in its documentation.
- These APIs are now deprecated but have no scheduled shutdown date: Code Search API,Diacritize API, Feedburner APIs, Finance API, Power Meter API, Sidewiki API, Wave API
- These APIs will be shut down as per their deprecation policies: Blog Search API, Books Data API and Books JavaScript API (not the new API), Image Search API, News Search API,Patent Search API, Safe Browsing API (v1 only), Translate API, Transliterate API, Video Search API, Virtual Keyboard API
구글이 주는 콩고물을 받아먹으며 개발을 했던 수 많은 회사들이 자신들의 전략을 수정해야 할 판…
대기업에 종속적인 사업이 얼마나 위험한지… 그 밑에서 일하며 날 밤까는 엔지니어들은 더 불쌍하고.. -_-;;
MCU 오동작 방지 : 위치독 사용법
외부의 노이즈나 어떤 원인에 의해 MCU의 오동작을 방지하기 위한 기법에 대한 Application Note입니다.
가장 기본적으로 WatchDog Timer(WDT)를 사용하는 방법이 있는데, 중요한 것은 이것을 잘 써야 합니다.
-. WDT는 프로그램이 시작하면서 바로 Enable해야 하며,
-. Refresh 시켜주는 루틴이 인터럽트 서비스 루틴에 들어 있으면 안됩니다.
보다 신뢰성있는 동작을 위한 다른 S/W적인 기법들이 많이 있는데 한번 확인해 보시기 바랍니다.
Flash 내장 MCU에서 Flahs가 깨지는 현상 방지
최근의 MCU들은 대부분은 Flash를 내장을 하고 있으며 ISP(In System Programming), IAP(In Application Programming) 기능을 제공을 하고 있다. 간혹 불안한 전원 때문에 내부 Flash가 지워지는 경우가 있는데, 이럴 경우 대책은 다음과 같다.
해결책
간단히 얘기하면 내장된 POR(Power On Reset) 기능을 enable하거나, 외부에 POR칩을 달아주면 되는데, 원리는 MCU가 일정 전압 이하로 내려갈 경우에 리셋을 걸어주어 오동작을 방지하는 것이다.
POR의 선정
외부에 POR 칩을 달때 임계전압(Threshold Voltae: Vt) 를 선정을 해야 하는데, 이 임계 전압은 MCU의 동작 가능한 최저 전압 Vmin보다 크고 입력 최저 전압 (Supply Voltage의 최소치)보다 작게 잡으면 된다.
즉 AT89C51RC2를 예로 들면
-. Vcc : 2.7V ~ 5.5V
-. 레귤레이터 출력이 3.235V ~3.365V 라고 가정을 하면,
POR의 Vt는 2.7V 보다 크고, 3.235V 보다 작은 값을 갖는 부품을 선정하면 된다.
자세한 내용은 첨부한 내용 참고.
External Brown-out Protection for C51 Microcontrollers with Active High Reset Input
cfile25.uf.206D42484DB11BB30485D8.pdf
관련된 특허도 있군요….
ESD 모델
HBM, MM, CDM 3가지 모델이 있으며, 각각의 테스트에 해당하는 테스트 회로와 입력 stress 파형의 조건이 다르다.
파형은 rise time (Tr), delay time(Td), 입력 전류 최대치(Ipeak) 가 각각 다르다.
아래 각각의 파형에 기준치가 기록이 되어 있다.
1. HBM (Human Body Model)
2. MM (Machine Model)
Two examples of industry standards that define MM ESD testing are JEDEC’s JESD22-A115 and ESD Association’s ESD STM5.2: Electrostatic Discharge Sensitivity Testing — Machine Model.
Two examples of industry standards that define CDM ESD testing are JEDEC’s JESD22-C101 and ESD Association’s ESD STM5.3.1: Electrostatic Discharge Sensitivity Testing — Charged Device Model
4. ESD Sensitivity Classfication Levels
Table 1. ESDS Component Sensitivity Classification – Human Body Model
(Per ESD STM5.1-1998*)
Class | Voltage Range |
---|---|
Class 0 | < 250 volts |
Class 1A | 250 volts to < 500 volts |
Class 1B | 500 volts to < 1,000 volts |
Class 1C | 1000 volts to < 2,000 volts |
Class 2 | 2000 volts to < 4,000 volts |
Class 3A | 4000 volts to < 8000 volts |
Class 3B | > = 8000 volts |
Table 2. ESDS Component Sensitivity Classification – Machine Model
(Per ESD STM5.2-1999*)
Class | Voltage Range |
---|---|
Class M1 | < 100 volts |
Class M2 | 100 volts to < 200 volts |
Class M3 | 200 volts to < 400 volts |
Class M4 | > or = 400 volts |
Table 3. ESDS Component Sensitivity Classification – Charged Device Model
(Per ESD STM5.3.1-1999*)
Class | Voltage Range |
---|---|
Class C1 | <125 volts |
Class C2 | 125 volts to < 250 volts |
Class C3 | 250 volts to < 500 volts |
Class C4 | 500 volts to < 1,000 volts |
Class C5 | 1,000 volts to < 1,500 volts |
Class C6 | 1,500 volts to < 2,000 volts |
Class C7 | =>2,000 volts |
출처: http://www.siliconfareast.com/esd.htm
유럽의 스마트미터링 현황 – 2
유럽의 스마트미터링 현황 – II
회원국
법 및 규제 현황
실행 현황
독일
–
의무 도입은 예정되어 있지 않음
–
독일은 고객 요구로 추진되는 정책을 따르며, 미터링 서비스는 자유화된 상태
–
독일 법 EnWG 2009는 2010년 초 이후 신규 건축 빌딩이나 대규모 개조공사를 거치는 빌딩의 경우에만 스마트 미터를 설치할 것을 요구
–
2011년까지 전력 공급자는 부하별 또는 시간대별 요금제를 제공해야 함
–
최소 기능 요구사항은 아직 정해지지 않았고, 비용편익 분석 역시 수행 전
–
일부 시범 프로젝트가 실시 중
–
법적 기준의 모호함 때문에, 대부분의 에너지 공급자들은 관망하고 있는 상황
–
DSO나 미터링 서비스 기업들이 투자를 할 경우 받게 되는 혜택도 적음
–
2010년 초반, 800개 유틸리티 기업 중 단 15개 회사만이 스마트 미터링 상품을 제공
–
스마트 미터는 고객에게 추가 비용을 발생시키기 때문에 사용량이 평균 이상인 소비자들만이 이득을 보기 쉬움
–
시장이나 법적 기준 모두 흐름을 주도하고 있지 않음
그리스
–
전기 스마트 미터 도입을 추진 중이며 법적 기준을 마련(법안 3855/2020의 15조)
–
최소 기능 요구사항 일부가 정의되었고, 양방향 통신이 전기 스마트 미터를 위한 통신 시스템의 최소 요구사항
–
본격 도입을 위한 최종 일정은 아직 발표되지 않음
–
최대 유틸리티 기업인 그리스 전력공사(PPC)가 6만 개의 스마트 미터를 주로 주거용 저전압 연결을 사용하는 대규모 수용가에 제공할 계획
–
이 사업은 후에 그리스 전역의 소비자들에게 확대될 것
–
전기 미터링 시스템이 수도 및 천연 가스 계량까지 포함하는 방향으로 확대될 수 있는지 여부를 아테네 상하수도공사(EYDAP SA)와 아네테 가스공사(EPA SA)가 현재 검토 중
헝가리
–
의무 도입에 대한 법적 기준이 없음
–
그러나 디렉티브 2009/72/EC가 국내법으로 전환됨에 따라 변화가 있을 것으로 보임
–
현재는 경제적으로 합리적일 경우에만, 스마트 미터를 설치하고 시간대별 요금제를 제공할 의무가 있음
–
2010년의 비용편익 분석 결과, 법적으론 분리되나 규제를 받는 미터 사업자를 둔 시스템을 시행하고, 2014년에는 국내 소비자에게 스마트 미터를 출시할 것을 권고
–
최소 기능 요구사항도 제시
–
2011년에 시범 프로젝트들이 출범할 예정
아일
랜드
–
국가 스마트 미터링 계획이 마련되었고, 에너지규제위원회(CER)가 전기 및 가스 미터기 출시 전략과 기능 요구사항에 대한 협의를 시작 (진행 중)
–
2011년 3월 비용편익 분석이 이루어지면, 도입 가능 여부에 대한 추가 결정이 있을 것으로 보임
–
에너지규제위원회(CER)는 망 사업자들과 함께 주요 시범 프로젝트를 착수했는데, 그 목표는 기술적 경험을 쌓고, 개인 가정과 중소기업으로 이루어진 6천여 고객들이 추가 피드백에 어떻게 반응하는 지를 보기 위함 (주기가 짧은 과금, 디스플레이, 시간대별 요금제 등 4개의 실험집단으로 구성)
–
기술 시범은 2010년 9월에 완료되었으며, 이 결과가 비용편익 분석에도 활용될 것
이탈
리아
–
원격 검침이 가능한 전자식 미터기를 의무적으로 설치해야 함
–
최소 기능 요구사항도 마련됨
–
미터링 시스템은 에너지 절감보다는 비기술적 손실을 줄이는 데 주안점을 둠
–
2008년 도입이 시작되었고, 2011년 말까지 총 3천 6백만 고객 중 95%가 전자식 미터기를 제공받을 것
–
고객에 대한 추가적인 피드백은 현재 없는 상황이며, 시스템은 DSO 요구사항에 맞게 설계
라트
비아
–
법적 기준이 없고, DSO 결정에 따라 스마트 미터가 설치
–
비용편익 분석도 진행되지 않음
–
현재와 같은 시장 독점 상황은 스마트 미터 추진에 도움이 되지 않음
–
최대 DSO인 Latvenergo가 도입을 위한 개념 정립을 하고 있음
–
기존의 미터기들이 단계적으로 전자식 미터기(모두 AMM은 아님)로 교체
–
1만 대의 미터기가 이미 AMR(원격자동검침) 시스템에 연계되었고, 이 중 7천 대는 산업용
–
그러나 월별 자동 검침이 여전히 지배적
몰타
–
격월 청구 비용과 비기술적 손실을 줄이기 위해 2010년 의무 도입이 시작
–
기능 요구사항도 마련
–
의무 도입이 결정되었으며 2009년 시범적으로 시작
–
2010년 Enemalta가, 2012년 말까지 24만 5천 가구의 전기 및 수도 미터기를 모두 교체한다는 도입 계획을 시작
–
최대 DSO인 OU Jaotusvork는 미터기 68만대를 도입하는 대규모 계획을 ’11년에서 ’17년까지 실행할 예정
네덜
란드
–
2010년 11월, 의회는 스마트 미터링 자발적 설치를 위한 법적 기준을 채택
–
소비자들은 기존의 미터기를 유지하는 것에서부터 AMM으로 교체하는 것까지 네 가지 선택을 할 수 있음
–
사생활 침해 문제가 여론의 주된 논의대상
–
스마트 미터는 ‘administrative Off’ 기능을 갖춰야 하고, 분산 미터링 서비스를 위한 포트가 있어야 함
–
비용편익 분석과 기능 요구사항이 업데이트
–
2011년에서 2012년까지 2년 동안 시범 기간을 가짐
–
이 결과에 대한 평가 후, 2013년부터 6년 간 도입 단계를 거침
–
다양한 시범 프로젝트들이 진행되어 옴 (Alliander, Oxxio 등).
유럽의 스마트미터링 현황 – 1
□ 유럽의 스마트미터링 현황 Ⅰ – EU, 제3차 에너지시장법에 따라 스마트미터 설치 기반 마련 예정 – 덴마크, 핀란드, 프랑스, 이탈리아 등 스마트미터 추진에 적극적 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|