Faits:
Faits:
A. Le 15 décembre 2003, le Ministère public du canton de Neuchâtel a rendu une ordonnance pénale à l'encontre de A._. Il a reconnu celui-ci coupable d'infraction aux art. 90 al. 1 LCR et 41 al. 1bis OCR pour avoir stationné son véhicule automobile pendant plus d'une heure sur un trottoir sans laisser un passage d'au moins 1,5 m pour les piétons.
Cette décision, notifiée le 16 décembre 2003 et reçue par A._ le 23 décembre suivant, indique la voie de l'opposition à former auprès du Ministère public, dans les vingt jours suivant sa réception (cf. art. 13 al. 1 CPPN).
Le 12 janvier 2004 - soit le dernier jour du délai -, A._ a formé opposition. Sur l'enveloppe contenant la déclaration y relative est apposé un sceau de l'office postal de Neuchâtel portant la date du 13 janvier 2004 à 14h.
Le 14 janvier 2004, sans entendre A._, le Procureur général a déclaré l'opposition irrecevable pour tardiveté.
Par arrêt du 9 juillet 2004, la Chambre d'accusation du Tribunal cantonal du canton de Neuchâtel a rejeté le recours formé par A._ contre cette décision.
Par arrêt du 9 juillet 2004, la Chambre d'accusation du Tribunal cantonal du canton de Neuchâtel a rejeté le recours formé par A._ contre cette décision.
B. Agissant par la voie du pourvoi en nullité, A._ demande au Tribunal fédéral d'annuler l'arrêt du 9 juillet 2004 et de renvoyer la cause à la Chambre d'accusation pour nouvelle décision au sens des considérants. Il se plaint d'arbitraire. Il requiert l'assistance judiciaire.
La Chambre d'accusation et le Ministère public se réfèrent à l'arrêt attaqué.

Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. Le Tribunal fédéral examine d'office et avec une pleine cognition la recevabilité des recours qui lui sont soumis (<ref-ruling> consid. 2 p. 250, 302 consid. 3 p. 303/304, 306 consid. 1.1 p. 308, 321 consid. 1 p. 324, et les arrêts cités).
1.1 Le recourant agit par la voie du pourvoi en nullité. Ses arguments portent toutefois uniquement sur le caractère, arbitraire selon lui, des motifs pour lesquels la Chambre d'accusation a confirmé l'irrecevabilité pour tardiveté de l'opposition à l'ordonnance pénale. Seule est ainsi ouverte la voie du recours de droit public pour la violation des droits constitutionnels des citoyens au sens de l'art. 84 al. 1 let. a OJ, réservée par la décision attaquée. En l'occurrence, la désignation erronée du moyen de droit ne porte pas à conséquence; le pourvoi peut être traité comme recours de droit public.
1.2 Aux termes de l'art. 90 al. 1 let. b OJ, l'acte de recours doit contenir un exposé des droits constitutionnels ou des principes juridiques violés, précisant en quoi consiste la violation. Le Tribunal fédéral examine uniquement les griefs soulevés devant lui de manière claire et détaillée (<ref-ruling> consid. 2.1 p. 31; <ref-ruling> consid. 2.1 p. 120; <ref-ruling> consid. 1c p. 53/54, et les arrêts cités). En l'espèce, le recourant n'indique pas de façon expresse quelle disposition de la Constitution la Chambre d'accusation aurait violée en décidant comme elle l'a fait. Toutefois, en tant qu'il reproche à la cour cantonale d'avoir arbitrairement rejeté son offre de preuve, le recourant se réfère de manière implicite, juste suffisante, au droit d'être entendu garanti par l'art. 29 al. 2 Cst.
1.3 Hormis des exceptions non réalisées en l'espèce, le recours de droit public n'a qu'un effet cassatoire (art. 90 al. 1 let. b OJ; <ref-ruling> consid. 1.2.1 p. 131/132, 173 consid. 1.5 p. 176; <ref-ruling> consid. 1b p. 53, et les arrêts cités). La conclusion tendant au renvoi de la cause à la Chambre d'accusation pour nouvelle décision au sens des considérants est par conséquent irrecevable.
Sous cette dernière réserve, il y a lieu d'entrer en matière.
Sous cette dernière réserve, il y a lieu d'entrer en matière.
2. Viole le droit d'être entendu l'autorité qui déclare un recours irrecevable sans donner au recourant l'occasion de s'exprimer sur un renseignement décisif pour le sort du recours (<ref-ruling> consid. 3b p. 375; <ref-ruling>). En particulier, l'autorité qui entend déclarer irrecevable un recours en se fondant sur la présomption résultant du sceau postal apposé sur l'enveloppe ayant contenu une pièce de procédure, doit donner à son auteur l'occasion de faire valoir les moyens de preuve, notamment testimoniale, propres à renverser cette présomption (ATF <ref-ruling> consid. 3a p. 11/12, renvoyant, pour ce qui concernait l'art. 32 aLP, à l'<ref-ruling> consid. 2c p. 16, et les arrêts cités; cf. aussi <ref-ruling> consid. 2b p. 344/345 et les arrêts 1P.420/1998 du 2 décembre 1998; 2A.242/1998 du 13 octobre 1998; 2P.362/1997 du 7 juillet 1998, consid. 6 et 1P.259/1996 du 8 juillet 1996).
2.1 Le Procureur général n'a pas donné l'occasion au recourant de prouver qu'il avait remis la déclaration d'opposition à un office postal le 12 janvier 2004 après la dernière levée du courrier, mais avant minuit, comme le permet la jurisprudence cantonale citée par la Chambre d'accusation. En cela, il a méconnu les principes qui viennent d'être rappelés. La procédure cantonale de recours a cependant offert la possibilité de guérir ce défaut.
2.2 Dans son recours adressé le 5 février 2004 à la Chambre d'accusation, le recourant a mentionné pour la première fois qu'un de ses amis l'avait accompagné à la boîte postale après la fermeture des guichets de la poste, mais avant minuit; cette personne pouvait attester la remise à temps de l'opposition.
Tout en mentionnant cette offre de preuve, la Chambre d'accusation l'a écartée au motif que le recourant n'avait produit aucun document propre à confirmer qu'au moment de la remise de l'acte d'opposition à la boîte postale, il était accompagné d'un témoin. De même, il aurait omis de faire apposer sur l'enveloppe la date et l'heure de la remise, avec la signature du témoin. Il incombait en outre au recourant d'indiquer immédiatement à l'autorité les circonstances exactes de la remise. Enfin, il n'était pas crédible que le sceau de la poste n'ait été apposé que le 13 janvier 2004 à 14 heures sur une enveloppe prétendument déposée la veille avant minuit.
Ces considérations ne sont pas décisives. La jurisprudence qui vient d'être rappelée n'impose pas à la personne qui dépose dans une boîte postale, après la fermeture des guichets, l'obligation d'indiquer sur l'enveloppe les circonstances exactes du dépôt, ainsi que les qualités et signatures de témoins éventuels. Quant au délai de plus de quatorze heures intervenu entre le dépôt de l'acte et son timbrage, il est certes inhabituellement long, sans être impossible pour autant (cf. arrêt 2A.242/1998, précité, consid. 3b).
2.3 En refusant d'entendre le témoignage proposé, la Chambre d'accusation a ainsi violé le droit d'être entendu du recourant. Le pourvoi en nullité, traité comme recours de droit public, doit être admis dans la mesure où il est recevable, et l'arrêt attaqué annulé. Il est statué sans frais (art. 156 OJ). Il n'y a pas lieu d'allouer des dépens, puisque le recourant a agi sans l'assistance d'un mandataire (art. 159 OJ). La demande d'assistance judiciaire a perdu son objet.

Par ces motifs, vu l'art. 36a OJ, le Tribunal fédéral prononce:
Par ces motifs, vu l'art. 36a OJ, le Tribunal fédéral prononce:
1. Le pourvoi en nullité, traité comme recours de droit public, est admis, dans la mesure où il est recevable, et l'arrêt attaqué annulé.
1. Le pourvoi en nullité, traité comme recours de droit public, est admis, dans la mesure où il est recevable, et l'arrêt attaqué annulé.
2. Il est statué sans frais, ni dépens.
2. Il est statué sans frais, ni dépens.
3. La demande d'assistance judiciaire a perdu son objet.
3. La demande d'assistance judiciaire a perdu son objet.
4. Le présent arrêt est communiqué en copie au recourant, ainsi qu'au Ministère public et à la Chambre d'accusation du Tribunal cantonal du canton de Neuchâtel.
Lausanne, le 28 septembre 2004
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le président: Le greffier: