MQTT(Message Queuing Telemetry Transport) 프로토콜은 ISO/IEC 20922로 등재된 표준 프로토콜로 현재는 5.0까지 나왔다. TCP/IP 기반에서 동작하는 발행/구독(publish/subscribe ) 방식의 프로토콜이다. 프로토콜 구현을 위한 코드가 짧고, 메시지의 최대 길이도 64MB 정도 이므로 IoT 기기들의 메시지 전달에 적절하다고 할 수 있다. 위의 그림에서 보듯이 각 클라이언트는 짧은 정보를 브로커(Broker)에 던지고 특정 정보를 구독하는 클라이언트에게 해당 정보과 전달되는 방식이다. 클라이언트 B를 온도 센서라 한다면 클라이언트 A는 모바일기기 일수도 있고 정보를 수집하는 서버일 수도 있다. 동일한 토픽(topic, 그림에서는 temperature/..
여름철 무더위에 사람도 힘들어 하지만 노트북도 데스크톱도 서버도 올라가는 온도에 힘들어하기는 마찬가지이다. 에어컨이 빵빵한 곳에서는 문제가 되지 않지만 그렇지 않은 곳에서는 시스템이 죽는 원인 중의 하나가 바로 온도이다. 시스템을 느리게 만드는 원인이기도 하다. 먼지가 쌓여서 문제가 생기기도 하고, 온도를 식히는 팬이 망가져서 생기기도 한다. 그렇다면 마더보드의 온도를 미리 검사하는 방법은 무엇일까? 물론 시스템을 구동시키지 않은 상태라면 BIOS에서 여러 센서에서 올라오는 정보를 바탕으로 온도를 확인하고 대처할 수 있다. 그렇지만, 지금 필요로 하는 것은 정상 동작 중인 시스템에 문제가 없도록 하거나 시스템의 온도를 확인하고 싶은 것이므로 이를 수행하는 도구를 찾아야 한다. 운영체제 자체에서는 이러한 ..
리눅스 시스템이 조금 이상하다고 생각이 될 때 디스크를 검사하는 과정을 메모해 두고자 한다. sudo apt-get install smartmontools sudo systemctl start smartd 일단 "df -h"로 디스크 상황을 조회하고 위와 같은 명령으로 smartmontools를 설치하고 서비스를 가동한다. 위의 그림처럼 "systemctl status smartd" 명령을 사용하면 서비스 상태를 확인할 수 있다. "sudo smartctl -i /dev/sda1" 명령으로 위의 그림처럼 디스크의 세부 정보를 확인할 수 있다. ubuntu@ubuntu:~$ sudo smartctl -t short /dev/sda1 smartctl 6.6 2016-05-31 r4324 [i686-linux..
가상 머신에서 리눅스를 설치하거나, USB 부팅이 가능한 환경이라면 본 포스팅은 해당 사항이 없다. 요즘 대부분의 리눅스에서는 USB 메모리를 부팅 가능하도록 만들어서 시스템을 설치하므로 USB 부팅이 가능한 시스템이라면 리눅스 배포판의 가이드에 따라 시스템을 설치하면 된다. 예전 같으면 CD-ROM으로 부팅해서 시스템을 설치하기도 했지만 이제는 CD도 CD 드라이버도 골동품이 되어 버렸다. 시스템의 BIOS 설정에서 USB 부팅을 할 수 없고 CD-ROM 부팅도 불가능 하지만 인터넷이 가능한 환경이라면 오프 소스 도구를 통해서 리눅스 시스템을 간편하게 설치할 수 있다. 도구의 이름은 UNetbootin이고 홈페이지 주소는 http://unetbootin.github.io/이며, 소스 코드는 https:..
연식이 20년 가까이 된 컴퓨터에 리눅스를 설치하다 보니 오래전에 했던 삽질을 다시 하게 된다. 이제는 삽질도 어렵다. 메모하는 것이 세월의 물살에서 살아남는 것이 아닐까 싶다. 고정 IP를 설정하는 이유야 여러 가지가 있겠지만 내부 테스트나 기타 과정에서 서버 역할을 하는 컴퓨터의 IP가 DHCP로 인하여 바뀔 수 있다면 이것은 정말 귀찮은 일이다. 물론 공유기나 DHCP 서버 역할을 하는 곳에서 MAC주소를 보고 고정 IP를 부여하는 방법도 있지만 이 또한 관리 비용이 필요하다. 아무튼 고정 IP 설정을 하려면 인터페이스 카드의 이름을 알아야 하는데 위의 그림처럼 "ifconfig -a" 명령으로 확인할 수 있다. 리눅스 설치 후에 ifconfig 명령이 없다면 "sudo apt install net..
인플럭스(Influx)라는 단어 자체가 친숙하지 않은 사람이지만 인플럭스 DB가 시계열 데이터베이스(Time-series Database, TSDB)라는 것을 접하자마자 호기심이 발동한다. 스카다(SCADA)나 빅데이터를 기반으로 모델을 만들어 검증하는 시스템에서 시계열 데이터, 즉 시간의 흐름에 따른 값의 변화는 상당히 중요한 정보이다. 그런데 이것을 전통적인 관계형 데이터베이스에 저장하면 저장이나 검색의 효율성 측면에서 오버헤드가 심한 것이 사실이다. 피상적인 아키텍처 수준에서도 이러한 비효율은 어렵지 않게 확인할 수 있다. 효율을 높이기 위해 테이블 파티션(Partition)이 도입되기도 했지만 한계가 있는 것이 사실이다. DBMS 입장에서 보면 시계열 데이터들은 인플럭스(Influx)라는 단어의 ..
DBMS를 교과서로 접하고 실제 업무에서 이런저런 DBMS와 씨름한 지도 한참인데, 오래간만에 DBMS를 접하다 보니 필자는 오늘에서야 DBaaS라는 말을 접하게 된다. 클라우드 시스템이 보편화된 지도 상당한 시간이 흐른 시점이니까 DBaaS라는 용어가 등장한 지도 상당한 시간이 흘렀을 텐데 말이다. 오늘날의 IT 환경에서 MySQL(MariaDB)이나 PostgreSQL로 대표되는 오픈소스 DBMS가 수행하는 역할은 상상이상으로 엄청난 것이다. 오라클이나 SQL Server로 대표되는 상용 DBMS의 단순 대체재를 넘어서 기술을 선도하고 있는 모습이다. 크레이트 DB의 소개를 보면 분산 SQL DBMS를 대표적인 정체성으로 내세우면서 전통적인 관계형 DBMS, NoSQL과 전문 검색 엔진의 장점을 통합..
"DNP3 프로토콜에 대한 고찰"을 통해서 DNP3 프로토콜을 살펴보고 실제로 DNP3 맛보기를 해볼까 한다. 실제 장비가 있으면 더 실감 나겠지만 테스트와 스터디를 위한 것이므로 실제 장비처럼 동작하는 시뮬레이터를 찾아보았다. 문제는 라이브러리는 많은데 의외로 라이선스가 개방적인 시뮬레이터 프로그램은 찾기 어려웠다. 그래도 차선으로 제한적인 라이선스이지만 Freyr SCADA에서 배포하고 있는 무료 시뮬레이터를 사용하기로 했다. https://sourceforge.net/projects/dnp3-source-code-library/files/에서는 시뮬레이터와 윈도우 및 리눅스 SDK까지 한 번에 받을 수도 있고, https://sourceforge.net/projects/dnp3-outstation-..
PLC에서 DNP3 프로토콜을 지원한다는 옵션을 보기는 했지만 프로토콜을 어느 정도 알아야겠다는 생각을 하게 되었다. DNP3 프로토콜의 사용자 그룹 사이트의 주소는 https://www.dnp.org/이다. 처음에는 전력 산업에서 발전소와 변전소 컴퓨터 및 RTU(Remote Terminal Units), IED(Intelligent Electronic Devices)와 같은 장치들 간의 통신을 위해서 만들어졌으나 현재는 상하수도, 가스를 비롯한 여러 산업에서도 사용되고 있다. 공개된 프로토콜로 IEEE Standard 1815 표준이 있다. 위의 그림은 4 계층의 DNP3 프로토콜 구조로 EPA(Enhanced Performance Architecture)에서 메시지 분할을 위해 Pseudo-Tran..
"무료 백넷 개발 도구 야베(YABE)와의 만남"에서 백넷 프로토콜의 매력과 함께 야베 도구의 매력을 함께 경험했다면 이번에는 소스 코드도 배포하고 있는 야베를 빌드해 보기로 했다. Addon 프로그램을 추가로 만들 수도 있고 필요한 수정이나 기능 추가도 가능하니 미리 코드를 빌드해 보고자 한다. MIT 라이선스이니 개발과 배포에 있어 상당히 자유로운 측면이 있다. 솔루션 빌드이전에 필요한 것은 일단 비주얼스튜디오이고 시스템에 .NET Framework 4.8 개발자팩이 설치되어 있는지 확인해야 한다. 없다면 https://dotnet.microsoft.com/ko-kr/download/visual-studio-sdks?cid=getdotnetsdk를 참조한다. 야베의 소스코드 리포지토리는 서브버전(Su..
백넷(BACnet, Building Automation and Control Network) 프로토콜을 공부하고 조사하는 과정에서("BACnet에 대한 고찰" 참조) 소스포지에서 설치 파일과 소스 코드를 배포하고 있는 야베(YABE, Yet Another Bacnet Explorer)라는 백넷 관련 도구를 만날 수 있었다. 백넷에 접속하여 다양한 장비 정보를 직접 확인할 수도 있지만 무엇보다 매력적인 것은 C# 기반으로 다양한 예제 프로그램과 데모 프로그램을 함께 배포하고 있다는 것이었다. 이런 매력 때문일까 소스포지에서도 상당히 인기 있는 프로그램에 해당한다. 프로젝트 주소는 https://sourceforge.net/projects/yetanotherbacnetexplorer/이다. 야베 프로젝트 페..
최근에 BEMS(Building Energy Management System)를 접하면서 전통적인 모드버스(ModBUS) 프로토콜과 함께 자주 접하는 프로토콜이 있다면 바로 BACnet(이후 백넷으로 기술)이다. 모드버스가 등장한 것이 1979년이고 백넷이 등장한 것이 1987년이니까 약 십 년의 차이가 있다. 모드버스가 슈나이더라는 민간 회사에서 만들어 이후로 표준화가 진행되었다면, 백넷은 ASHRAE(American Society of Heating, Refrigerating and Air-Conditioning Engineers)라는 협회에서 시작되어 ANSI, ISO, 유럽 표준으로 채택되었다. 협회의 이름에서도 알 수 있듯이 건물의 냉난방, 환기, 공조 시스템 전문가들이 모여서 건물 자동화와 제..
"모드버스(Modbus) 응용 개발을 위한 준비" 글에서 모드버스 프로토콜과 응용 개발 과정, 그리고 연관된 시뮬레이터 프로그램을 다루었는데 그중의 하나가 RMMS(Radzio! Modbus Master Simulator)라는 프로그램이다. 프로그램 다운로드는 앞선 글을 참조한다. 일반적인 개발자에게는 쓸모가 없을 수도 있다. 보통 모드버스 슬레이브 서버를 장착하는 PLC 장비나 기타 임베디드 장비를 개발하는 경우에 장비가 원활하게 모드버스 서비스를 제공하는지 확인하는 용도로 활용할 수 있다. 다른 용도는 스카다 시스템이나 HMI 개발자가 프로그램 개발 전후로 실제 PLC나 시스템과 모드버스로 데이터가 정상적으로 전달되는지 확인하는 도구로 활용할 수도 있다. 개발 중인 스카다 시스템이나 HMI와 다른 도..
모드버스 슬레이브(Slave) 시뮬레이터 mod_RSsim 사용하기를 간단하게 메모해 두고자 한다. 모드버스 프로토콜에 대한 소개와 mod_RSsim 다운로드는 "모드버스(Modbus) 응용 개발을 위한 준비"를 참조하면 된다. 모드버스 슬레이브(Slave)라는 것은 모드버스 마스터의 요청에 따라 데이터를 전달하거나 저장하는 서버의 역할을 하는 노드로 PLC와 같은 장비들이 주로 모드버스 슬레이브의 역할을 수행한다. 이러한 장비가 없는 경우 또는 실제 장비에 영향을 주지 않는 안전한 테스트가 필요한 경우에 모드버스 슬레이브 시뮬레이터를 사용할 수 있다. ■ MODBUS TCP로 가동하기 모드버스 TCP 모드로 시뮬레이터를 가동하려면 우측 상단 "Prot:" 항목의 콤보 박스를 "MODBUS TCP/IP"..
모드버스(Modbus) 프로토콜은 PLC를 비롯한 다양한 장비들 간의 정보 소통을 위한 표준 통신 프로토콜로 요즘 나오는 대부분의 PLC들은 대부분 모드버스 프로토콜을 지원하고 있고 스카다나 BEMS, MES와 같은 대형 소프트웨어에서도 장비나 타 시스템과의 통신을 위해 모드버스 프로토콜을 지원하고 있다. 이렇게 모드버스 프로토콜이 표준으로 자리 잡을 수 있었던 배경에는 일치감치 상세한 프로토콜 스펙이 오픈되고 연관한 오픈소스 라이브러리가 공개되어 안정적으로 성능을 발휘한 까닭이 아닌가 싶다. 1979년 처음 프로토콜이 등장할 당시만 해도 시리얼 통신 프로토콜이었으나 지금은 TCP/IP로도 사용할 수 있다. 모드버스 프로토콜을 접하려면 우선 어떤 방식을 채용할지를 확인해야 한다. 소프트웨어 개발자의 시작..
가상머신을 사용하다 보면 가상머신에서 작업하는 내용을 호스트 컴퓨터에서 활용하거나, 반대로 로스트 컴퓨터에 메모한 내용을 가상머신에서 사용하는 과정이 빈번하게 발생한다. 이 작업이 잘 동작하지 않으면 그야말로 짜증이 폭발한다. 일도 하고 싶지 않아 진다. 이럴 때 차분하게 상황을 점검해 볼 필요가 있다. 우선 위의 그림처럼 장치> 클립보드 공유가 "양방향"으로 설정되어 있는지 확인한다. 다른 확인 방법은 머신> 로그보기로 클립보드 공유 설정이 원하는 대로 이루어졌는지 확인한다. 클립보드 공유가 정상적 동작하고 있으면 위의 그림처럼 클립보드 관련 로그가 남는다. pkill -f VBoxClient; VBoxClient --clipboard 그럼에도 클립보드 공유가 정상적으로 동작하지 않는다면, 마지막으로 ..
호스팅을 하고 있다면 업체에서 알아서 설정해 놓으니 대부분 문제 될 것은 없지만 자체 서버에 APM 등을 설치하고 웹 테스트를 진행하는데 한글이 깨진다면 일단 두 가지를 확인해야 한다. $ locale LANG=ko_KR.UTF-8 LANGUAGE=ko_KR LC_CTYPE="ko_KR.UTF-8" LC_NUMERIC="ko_KR.UTF-8" LC_TIME="ko_KR.UTF-8" LC_COLLATE="ko_KR.UTF-8" LC_MONETARY="ko_KR.UTF-8" LC_MESSAGES="ko_KR.UTF-8" LC_PAPER="ko_KR.UTF-8" LC_NAME="ko_KR.UTF-8" LC_ADDRESS="ko_KR.UTF-8" LC_TELEPHONE="ko_KR.UTF-8" LC_MEASUR..
프로그램 내에서 워드 문서(마소 오피스나 리브레 오피스로 작성)를 새롭게 생성하거나, 기존 문서를 수정하거나 아니면 특정 양식에 필요한 내용을 반영하여 새로운 문서를 만드는 등의 작업을 하는 경우가 있다. 자동차 검사소에서 고객들이 받는 검사 결과지를 예로 들 수 있다. 각종 자동차 검사를 수행하면 다양한 검사 장비와 센서에서 올라온 값들을 검사원이 양식에 일일이 입력하는 것이 아니라 작업이 끝났다는 신호와 함께 보고서 출력을 지시하면 미리 준비된 양식에 해당 값을 자동으로 입력하여 출력하고 양식은 파일로 남겨 놓는 것이다. 우리나라 국민들이 받는 건강 검사의 경우도 마찬가지이다. 사람이 직접 입력하는 신상 정보와 검사 정보를 데이터베이스에 저장해 두었다가 미리 준비한 양식에 맞게 출력하는 것이다. 본 ..
영풍 마을을 통과한 82코스는 만복 마을 외곽을 지나 다시 해변으로 나간다. 해변으로는 둑방길이 강진 칠량농공단지까지 이어진다. 산업 단지 구석의 공원을 지나면 생금봉 아랫자락을 도는 해안길을 지나 탐진강 둑방길을 걷는다. 탐진강을 따라 북쪽으로 이동하다가 강진만 갈대밭의 데크길을 지나 구 목리교 입구에서 여정을 마무리한다. 영풍 마을을 지난 길은 바로 이어서 만복 마을로 들어간다. 집주인이 창고 벽면에 쓰신 글이 마음에 와닿는다. "행복을 약속하는 땀을 흘려라. 산이 만복과 건강을 약속한다." 맞는 말이다. 그런데, 집안일이든 밭일이든 무슨 일이든 즐거운 마음으로 땀을 흘리는 것은 축복이다. 일이 아니다. 길은 만복 마을 인근을 지나 해변으로 나간다. 조금 전에 창고 벽에 쓰인 글귀도 있지만 마을 가꾸..
가우도 입구에서 출발하는 남파랑길 82코스는 해안길을 지나 높지 않은 산을 넘는 산행으로 시작한다. 산행 끝자락에 있는 세심정으로 가는 길이다. 세심정 앞에서 국도로 내려가 칠량천을 따라가다가 봉황 마을로 들어간다. 봉황 마을과 이어지는 보련 마을을 지나면 해변으로 나가서 해안 둑방길을 걷다가 영풍 마을에 이른다. 가우도 앞은 마량에서 광주 가는 버스도 멈추는 곳으로 내륙으로는 저두리의 중저 마을이 자리하고 있고 해변으로는 식당과 카페, 편의점을 비롯한 편의 시설들이 즐비하다. 우리도 편의점에서 음료수도 사 먹고, 인근 무인 라면 가게에서 직접 라면을 끓여 먹는 신문물을 경험하기도 했다. 쓰레기가 많이 나오는 것을 제외하면 편리하고 좋은 경험이었다. 바다 건너 가우도에 있는 청자 타워에서는 짚트랙이 내려..
해안길을 걷는 남파랑길은 구곡 마을을 지나서 청자 해안길 도로를 따라 북쪽으로 이동하며 백사어촌체험마을을 지나고 미산 마을을 지나서 23번 국도 청자로를 걷는다. 국도를 걸으면서 고바우공원 전망대를 지나고 하저 마을에서 해변으로 내려가 해안길을 걸어 가우도 입구에서 여정을 마무리한다. 다산 초당에서 마량항까지 강진 바다둘레길이 있는데 1코스가 "오감을 찾아가는 바다둘레길"로 마량항부터 가우도 출렁다리까지이고 2코스는 "산 따라 강 따라 어촌풍류길"로 가우도 출렁다리에서 다산초당까지이다. 바다를 건너가는 코스다. 길은 대구면 구수리를 지나 수동리로 넘어간다. 백사 마을로 가는데 울타리에 처음 보는 특이한 나무들이 심겨 있었다. 잎이 하트 모양인 유칼립투스 웹스테리아나라고 한다. 이건 유칼립투스 블랙잭이란 ..
마량항을 출발한 남파랑길은 읍내를 가로질러 마량초등학교 앞을 지나 해안으로 나가서 해안선으로 이어지는 까막섬로 도로를 따라서 북쪽으로 이동한다. 까막섬로 도로를 걷던 길은 구수리카페를 지나 우회전하여 고개를 오른다. 고개를 넘으면 남호 마을을 지나 해변에 닿고 해안길을 걸어 구곡 마을 앞 포구에 닿는다. 농번기의 할 일을 열심히 하다 보니 다시 짬을 내서 남파랑길 걷기를 하게 되었다. 이제는 광주 터미널과 친해질 시간인 모양이다. 광주 터미널에서 강진을 거쳐 마량을 지나는 버스를 예배해서 버스 시간을 기다리고 있는데 터미널 광고판에 마량 놀토 수산시장 광고를 보니 왠지 반가운 느낌이다. 이탈리아 나폴리를 가보지 못했으니 "한국의 나폴리 강진 마량항"이란 문구가 가슴에 와닿지는 않는다. 아무튼 지난번 여행..
덕촌 방조제 둑방길을 지나면 해안도로를 걷다가 신리 방조제를 만나면 농로로 내려가 평야를 가로지른다. 동신 마을 외곽으로 장흥대로로 올라가 오성금 마을까지 도로를 걷는다. 오성금 마을을 지나면 상흥천을 따라 해안으로 내려간다. 상흥천을 건너면서 길은 장흥군에서 강진군으로 넘어간다. 해안선을 따라 이어지는 길은 신마 마을에 이르고 신마 마을에서 고개를 넘으면 마량항에서 여정을 마무리한다. 덕촌 방조제의 배수갑문을 지나 해안 둑방길을 걷는다. 대덕읍 잠두리 덕촌 마을로 향하는 길이다. 길은 덕촌 마을 안으로 들어가지 않고 마을 입구에서 좌측 해안 도로를 따라간다. 공성산 자락이 바다와 만나는 산 아랫자락을 서쪽 방향으로 걸어가는 길이다. 물이 빠지면서 드러난 갯벌을 보니 일제강점기나 산업화 시대였다면 이곳도..
선학동에서 공지산 능선을 따라 북쪽으로 이동하는 길은 이청준 한승원 문학길 2코스 일부와 같이 간다. 진목 마을을 지나면서 이청준 생가를 방문할 수 있다. 진목 마을을 지나면 들길과 농로를 가로질러 해안으로 나가고 덕촌 방조제 둑방길을 지난다. 선학동 나그네길을 지나온 길은 선학동을 감싸고 있는 공지산을 오른다. 본격적인 산행을 시작하는 길에는 보랏빛 들풀이 감성적인 분위기를 만들어 준다. 엉겅퀴다. 국화과의 여러해살이풀로 우리나라 곳곳에서 양지바른 곳이면 어렵지 않게 만날 수 있는 풀이다. 뿌리, 줄기, 잎을 모두 식용할 수 있는데 씨앗은 그림처럼 깃털 속에 있기 때문에 민들레 씨앗처럼 바람에 날아간다. 간장약의 한 계통인 실리마린은 바로 엉겅퀴(밀크시슬)에서 추출한다고 하고 엉겅퀴 추출물로 만든 보습..
회진 터미널을 출발한 남파랑길 80코스는 터미널 뒷산의 회령진성을 오르는 것으로 시작한다. 마을길을 가로질러 산을 내려오면 회진 파출소를 지나 해변으로 나간다. 해변으로 나오면 해안선을 따라 이어지는 천년학길을 따라 남쪽으로 내려가고 순흥 방조제 직전에서 천년학세트장도 만난다. 방조제를 지나면 우회전하여 선학동 나그네길을 오르기 시작한다. 회진 터미널 앞에서 남파랑길 80코스를 시작한다. 안내판처럼 장흥, 강진 코스로 코스 후반에 강진으로 넘어간다. 이청준 소설 문학길과 함께한다. 스토리가 있는 길은 뭔가 남다르기는 하다. 소설 문학길을 걷는 가장 좋은 방법은 예습하듯, 길과 연관된 작가들의 소설을 미리 읽고 걷는 것이겠지만 아쉽게도 그렇게까지 정성을 쏟지는 못했다. 터미널 건너편의 데크 계단길로 회령진..
관덕 방조제를 지나 신상 마을까지 남쪽으로 내려온 남파랑길은 이제 서쪽으로 걸어 장흥군의 남쪽 해안을 걷기 시작한다. 신상 마을로 들어온 길은 서쪽으로 이동하며 한재 고개를 넘는다. 산길이지만 오르막길이라는 것 외에는 포장길이라 부담이 없다. 가는 길에 한승원 생가도 만날 수 있다. 고개를 넘으면 덕산마을을 거쳐서 회진면 읍내에서 여정을 마무리한다. 관덕 방조제 배수 갑문과 돌의도 마을 포구를 지나 관덕 방조제 둑방길을 걷는다. 관덕 방조제 담수호를 보니 2007년 회진항부터 이곳까지 4Km에 이르는 운하를 뚫어 갯벌도 살리고 회진항의 뻘도 걷어 내겠다는 뉴스는 그 이후 어떻게 되었는지 그 사정이 궁금해진다. 이곳 관덕 방조제의 둑이 헐린다는 것이었는데 운하도 없고, 둑도 멀쩡하다. 방조제 앞으로 섬이 ..
사금 마을을 지난 남파랑길은 거대한 삼산 방조제 둑방길을 지나 정남진전망대에 오른다. 전망대에서 내려오면 우산 마을인데 길은 우산 마을의 돌의도로 이어지는 제방을 지나 돌의도와 회진면 신상리를 잇는 관덕 방조제로 이어진다. 사금 마을을 지나는 남파랑길은 마을 포구를 지나 전면으로 보이는 삼산 방조제를 향하여 이동한다. 삼산 방조제는 끝이 가물 정도로 길다. 삼산 방조제로 들어가는 입구에서는 724미터의 천관산이 그 위용을 드러내었다. 오전 내내 구름 속에 가려 있었는데, 이제는 구름이 걷히고 구름 모자를 쓰고 있다. 삼산 방조제 입구에는 소설가 이승우 문학지도를 안내하고 있었다. 이곳 관산읍 신동리는 이승우 작가의 소설 "샘 섬"의 무대라고 한다. 79코스 후반부터 80코스까지 이청준, 한승원 문학길과 ..
상발리를 지나며 해안으로 나온 남파랑길은 정남진 해안로 도로를 따라 남쪽으로 내려간다. 길은 죽청 마을에서 고읍천을 막고 있는 방조제를 만나지만 정남진 해안로는 남쪽으로 계속 이어진다. 육지와 장환도를 연결하는 방조제로 생긴 평야를 지날 때는 농로를 직선으로 가로질러 신당 마을에서 다시 정남진 해안로와 합류하여 해안길을 걸어 사금 마을에 도착한다. 산정 마을을 거쳐 상발 마을에 도착한 길은 좌측 마을 길로 들어가 남북으로 길게 자리한 상발 마을 앞길을 가로질러 간다. 상발 마을을 지나 해변으로 나간다. 해변으로 나오면 상발 마을 포구와 함께 전망대를 만날 수 있다. 포구 너머로 상발 마을에 속한 자라섬을 볼 수 있다. 우회전하여 정남진 해안로를 걷는다. 전망대 인근에는 작은 공원이 있었는데 6월의 꽃 수..
원등 마을을 출발한 남파랑길 79코스는 덕양풍길로 도로를 걷는 것으로 시작한다. 마상천을 건넌 다음에 잠시 농로를 우회하지만 다시 도로로 올라와 도로를 따라 풍길 마을에 닿는다. 계속 도로를 걷는 길은 두암 마을, 신풍 마을, 산정 마을을 차례로 지나고 산정 마을에서 잠시 마을길 걷지만 이내 도로로 나와서 상발 마을에 닿는다. 예전에는 신풍 마을 이후에 산길로 상발 마을까지 오는 길이었으나 지금은 도로만 이용한다. 장흥 시내에서 하룻밤 묵고 용산면 덕암리 원등 마을을 돌아온 우리는 마을 회관 앞의 커다란 나무와 인사하며 하루를 시작한다. 어제 장흥으로 들어오면서 소머리 버스 정류장 표식을 보았지만 아침에 다시 보니 빙그레 미소가 지어진다. 장흥을 북에서 남으로 길게 내려가는 79코스는 원등 마을을 벗어나..
장흥으로 넘어온 남파랑길이 지나온 한승원 문학 산책길은 장재도 앞까지 이어진다. 장재도 앞의 사촌 마을을 지난 길은 남상천이 바다와 만나는 길목에 있는 해안 방조제의 둑방길을 따라 서쪽으로 이동한다. 중간에 방조제와 방조제를 잇고 있는 해창 마을을 지나고 방조제가 끝나면 원등 마을로 들어가 여정을 마무리한다. 한승원 문학산책길을 지나온 남파랑길은 전면의 장재도를 보면서 사촌 마을로 향한다. 멀리 장재도와 육지를 잇는 장재교를 보면서 길을 이어간다. 반대편으로는 장재도 남측과 용산면 상발리를 잇는 정남진 대교도 있다. 장재교 다리 입구에는 현대적인 감각으로 장재도를 알리는 문구들을 적어 놓았다. "우리는 지금 장재도", "여길 오길 잘했다". 우리도 공감한다. 남파랑길 걷기를 잘했다. 멀리 득량도를 뒤로하..